我在一个基本的电子商务django网站工作。我有一个我的类别页面视图,其中显示所有的产品,我也在我的模板功能,如果产品已经在购物车,然后执行各自的代码。这是我遇到问题的HtmL部分:
{% if product.id in list_cart %}
<div class="btn-group">
<button class="btnabc btnabc-primary">{{list_cart.size}}</button>
</div>
{% else %}
<div class="btn-group">
<select class="selection-2 border" name="size" required id="sizebox">
{% for t in product.size.all %}
<option value="{{t}}" id="{{t}}">{{t}}</option>
{% endfor %}
</select>
</div>
{% endif %}这是我的views.py:
def category(request):
context = {
'types' : Category.objects.all(),
'prods': Product.objects.filter(),
'cartItems':[],
}
if request.user.is_authenticated:
customer=request.user.customer
order, created=Order.objects.get_or_create(customer=customer, complete=False)
cartItems=order.get_cart_items,
items=order.orderitem_set.all()
context['list_cart'] = order.orderitem_set.values_list('product__id', flat=True)
return render(request,"category.html",context)当一个人选择一个尺码并将其添加到购物车中时,它可以正常工作,但在此之后,我不会显示尺码的选择框,而是希望显示在我的code.The订单中尝试选择的尺码。it模型有一个size字段:
class OrderItem(models.Model):
product=models.ForeignKey(Product,on_delete=models.SET_NULL,null=True)
order=models.ForeignKey(Order,on_delete=models.SET_NULL,null=True)
quantity=models.IntegerField(default=0,null=True,blank=False)
size=models.ForeignKey(Siz,on_delete=models.SET_NULL,null=True)请帮我弄一下这个。谢谢
发布于 2020-08-12 02:49:47
您的问题是,因为list_cart不是单个对象,所以{{list_cart.size}}没有引用大小。因此,选择您也需要的list_cart对象的大小。
尝试:
{{list_cart.0.size}}(我遇到过类似的问题,但当时发现了一个不同的解决方案,但在这里不起作用,所以我不确定这是否就是完整的解决方案。)
https://stackoverflow.com/questions/63362048
复制相似问题