【发布时间】:2022-10-04 23:37:07
【问题描述】:
我想使用 django-shopping-cart 0.1 ,但我收到了这个错误:
网址.py
from django.urls import path
from . import views
app_name='shop'
urlpatterns = [
path('',views.accueil, name='home'),
path('cart/add/<int:id>/', views.cart_add, name='cart_add'),
path('cart/item_clear/<int:id>/', views.item_clear, name='item_clear'),
path('cart/item_increment/<int:id>/',
views.item_increment, name='item_increment'),
path('cart/item_decrement/<int:id>/',
views.item_decrement, name='item_decrement'),
path('cart/cart_clear/', views.cart_clear, name='cart_clear'),
path('cart/cart-detail/',views.cart_detail,name='cart_detail'),
]
视图.py
from django.shortcuts import render, redirect
from testshop.models import Product
from cart.cart import Cart
def cart_add(request, id):
cart = Cart(request)
product = Product.objects.get(id=id)
cart.add(product=product)
return redirect("home")
def item_clear(request, id):
cart = Cart(request)
product = Product.objects.get(id=id)
cart.remove(product)
return redirect("cart_detail")
def item_increment(request, id):
cart = Cart(request)
product = Product.objects.get(id=id)
cart.add(product=product)
return redirect("cart_detail")
def item_decrement(request, id):
cart = Cart(request)
product = Product.objects.get(id=id)
cart.decrement(product=product)
return redirect("cart_detail")
def cart_clear(request):
cart = Cart(request)
cart.clear()
return redirect("cart_detail")
def cart_detail(request):
return render(request, 'cart/cart_detail.html')
主页.html
{% for product in products %}
<p>{{produit.name}}<br>
{{produit.price}}
<a href="{% url 'cart_add' product.id %}">Add</a>
</p>
{% endfor %}
链接<a href="{% url 'cart_add' product.id %}">Add</a> 无效,
我有这个错误(未找到“cart_add”的反向。 “cart_add”不是有效的视图函数或模式名称.)
【问题讨论】:
-
你确定你的 urls.py 被你的主 urls.py 文件引用或设置你的 django 项目的 insettings.py 文件吗?
标签: python django django-views