我实现了一个购物车,它将项目 ID 存储在会话的列表中。我的添加方法看起来像这样
def add_to_cart(request):
if request.method == 'POST':
if 'cart' not in request.session:
request.session['cart'] = []
if not request.POST['item-id'] in request.session['cart']:
request.session['cart'].append(request.POST['item-id'])
return HttpResponse('true')
通过在 add 方法中打印会话,我得到了正确数量的元素。但是当重新加载视图时,我尝试读取存储在会话中的列表,我只得到一个包含一个元素的列表。我的观点看起来像这样
def cart(request):
cart_items = request.session['cart']
print len(cart_items)
return render(request, 'checkout/cart.html', ({ 'items': cart_items }))
在模板中我只想打印这样的列表:
{% load cart_helpers %}
{% block content %}
<div class="cart">
<div class="inner">
<h2>Warenkorb</h2>
<table class="listing">
{{ items }}
</table>
</div>
</div>
{% endblock %}
无论我做什么,我的购物车会话中的列表都只有一项......
有什么建议吗?提前致谢!