Django 我想創建一個函式,該函式可以從網站的任何頁面運行并執行其處理并在同一頁面上回傳
我想要的是創建一個按鈕以添加到購物車我已經撰寫了功能但是時間來自我使用重定向到購物車頁面的功能回傳但我希望有很多型別的產品頁面并且我希望它們必須重定向到他們來自的同一頁面并使用相同的功能來做到這一點,任何想法
@login_required(login_url='login_signup')
def add_cart(request,id):
prod = Product.objects.get(id = id)
try:
cart = Cart.objects.get(cart_id = _cart_id(request))
except Cart.DoesNotExist:
cart = Cart.objects.create(
cart_id = _cart_id(request)
)
cart.save()
try:
cart_item = CartItem.objects.get(product = prod,cart = cart)
cart_item.quantity = cart_item.quantity 1
cart_item.save()
# print("I was tries")
customer = request.user
cust = Customer.objects.get(user = customer)
# print(f"The customer is {cust}")
except CartItem.DoesNotExist:
customer = request.user
cust = Customer.objects.get(user = customer)
# print("Cart except is also being hit")
cart_item = CartItem.objects.create(
product = prod,
quantity = 1,
cart = cart,
user = cust,
)
cart_item.save()
return redirect('/cart/cart_page')
這是我用來添加到購物車的功能我希望它重定向到同一頁面,而不總是從它出現到購物車頁面,因為我會從許多地方觸發相同的功能
uj5u.com熱心網友回復:
用于request.META.get('HTTP_REFERER')用戶來自的上一個 url。
@login_required(login_url='login_signup')
def add_cart(request,id):
# Lot of code
#Redirect to previous url if exist else '/cart/cart_page'
previous_url = request.META.get('HTTP_REFERER', '/cart/cart_page')
return HttpResponseRedirect(previous_url)
注:我強烈建議你使用一個名為烏爾喜歡'cart_page'的定義urls.py檔案(path('cart/cart_page',views.cart_page,name='cart_page')),而不是硬編碼的網址一樣'/cart/cart_page'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/361120.html
標籤:姜戈 django 模型 django-views django-forms django-模板
