セッションのリストにアイテム ID を格納するショッピング カートを実装します。私の add メソッドは次のようになります
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 メソッドでセッションを出力すると、正しい数の要素が得られます。しかし、ビューをリロードすると、セッションに保存されているリストを読み込もうとすると、1 つの要素を含むリストしか取得できません。私の見解はこのように見えます
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 %}
何をしても、カートセッションのリストにはアイテムが1つしかありません...
何かアドバイス?前もって感謝します!