如果列表返回空,我不想显示链接。
template.html
{% for item in cart %}
<h1>{{ item.product.product_title }}</h1>
<a href="{% url 'products:remove_from_cart' item.product.id %}">Remove item</a>
{% empty %}
<p>No items in cart</p>
{% endfor %}
{% if item is not None %}
<p>
<a href="{% url 'products:checkout' %}">Checkout</a>
</p>
{% endif %}
views.py
def cartview(request):
if request.user.is_authenticated():
cart = Cart.objects.filter(user=request.user.id, active=True)
orders = ProductOrder.objects.filter(cart=cart)
#total = 0
count = 0
for order in orders:)
count += order.quantity
context = {
'cart': orders,
'count': count,
}
return render(request, 'store/cart.html', context)
else:
return redirect('index:index')
如果购物车清单为空,我想隐藏结帐链接。将它放在for循环中会使链接出现多次。我想只显示一次结帐按钮。
答案 0 :(得分:1)
而不是'item'
检查模板中的'cart'
。
{% if cart %}
<p>
<a href="{% url 'products:checkout' %}">Checkout</a>
</p>
{% endif %}