[英]Dynamic URL Routing Django
I Created a dynamic url routing/views for each one of the product on my website, Everything is working fine until I go to Cart/checkout and it loads on of the product page currently in Cart instead of Cart.html and Checkout.html
urlpatterns = {
path('<str:pk>/', views.dynamic_product_view, name='productdetail'),
}
视图.py:
def dynamic_product_view(request, pk=None):
products = Product.objects.all()
slug=None
data = cartData(request)
items = data['items']
if pk is not None:
try:
slug = Product.objects.get(slug=pk)
except:
Http404()
context = {
'slug':slug,
'products': products,
'items': items
}
return render(request, 'product-details.html', context)
它目前在任何其他页面(如索引、商店和产品页面)上都可以正常工作,但问题出现在购物车和结帐中
代替
Http404()
至
raise Http404()
我在 preator 的帮助下解决了这个问题,他/她指出我应该在 url 模式文件中的动态 url 路径之前放置购物车和结帐
path('cart/', views.cart, name='cart'),
path('checkout/', views.checkout, name='checkout'),
path('<str:pk>/', views.dynamic_product_view, name='productdetail'),
它完全工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.