我实现了一个购物车,它将项目 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 %}
无论我做什么,我的购物车会话中的列表都只有一项......
有什么建议吗?提前致谢!