【发布时间】:2020-04-02 04:53:27
【问题描述】:
我正在尝试使用链接将商品添加到购物车,但它一直说我在分配变量之前引用了它。
views.py:
def view(request):
cart = Cart.objects.all()[0]
products = Product2.objects.all()
context = {
"cart": cart,
"products": products
}
template = "cart/view.html"
return render(request, template, context)
def update_cart(request, slug):
cart = Cart.objects.all()[0]
try:
product = Product2.objects.get(slug = slug)
except Product2.DoesNotExist:
pass
except:
pass
if not product in cart.products.all():
cart.products.add(product)
else:
cart.products.remove(product)
return HttpResponseRedirect(reverse("cart"))
models.py:
class Product2(models.Model):
name = models.CharField(max_length=100)
price = models.IntegerField()
slug = models.SlugField()
def __str__(self):
return self.name
html:
{% for product in products %}
<div>
<h1>{{ product.name }}: ${{ product.price }}<a href='{% url "update_cart" product.slug %}' class ='pull-right'>Add to Cart</a></h1>
</div>
{% endfor %}
我让它工作了一秒钟,但我在数据库中创建了一个新表,在适用的地方更改了名称,但现在它不起作用。
【问题讨论】:
标签: python html django web-applications