【发布时间】:2021-04-04 23:04:53
【问题描述】:
我正在创建一个电子商务商店,我使用 Django 会话来存储购物车信息。但是,由于某种原因,只有 2 件商品被存储在购物车中,并且没有更多。一旦我添加了第一个项目,它就会保持原样。然后我添加第二项。但是,当我添加第 3 项时,第 2 项会被第 3 项覆盖,购物车中仍然只保留 2 件产品。
我觉得这将是一个简单的逻辑错误,但我似乎无法弄清楚。
我的意见.py...
def shop(request):
if not request.session.get('order1'):
request.session['order1'] = []
if request.method == "POST":
quantity = int(request.POST.get('quantity'))
name = request.POST.get('name')
if quantity >= 1:
request.session.get('order1').append({"quantity":quantity, "name":name})
context = {
"check":request.session.get('order1'),
}
else:
messages.warning(request, "You have entered an invalid quantity")
context={}
else:
context={}
return render(request, "store/shop.html", context)
context = {"check":request.session.get('order1')} 的输出类似于 [{'quantity': 1, 'name': 'Tissot Watch for men - black star striped'}, {'quantity': 2, 'name': 'Jewelry Bangles Stripes for Girls'}] 并且始终只包含 2 个项目。
我做的代码有错误吗?
任何帮助将不胜感激。 谢谢!
【问题讨论】:
标签: python django django-views django-sessions