Python django操作会话(插入、更新等)
我想在购物车中添加产品的ref_id(我使用django会话和ajax)Python django操作会话(插入、更新等),python,django,session,cart,django-sessions,Python,Django,Session,Cart,Django Sessions,我想在购物车中添加产品的ref_id(我使用django会话和ajax) 您可以查看我编写的代码,并告诉我为什么总是显示“购物车不存在” 为了解决这个问题,我做什么 class add_to_cart(View): def post(self,request): ref_id = request.POST.get('ref_id',None) if(ref_id): print("request.session={}".format
您可以查看我编写的代码,并告诉我为什么总是显示
“购物车不存在”
为了解决这个问题,我做什么
class add_to_cart(View):
def post(self,request):
ref_id = request.POST.get('ref_id',None)
if(ref_id):
print("request.session={}".format(request.session))
# flag = request.session.get('cart',None)
if 'cart' not in request.session:
print("cart not exist")
request.session['cart'] = {ref_id:1}
else:
print("cart exist")
if ref_id in request.session['cart']:
print("ref_id exist in cart")
else:
print("ref_id not exist in cart")
else:
print("ref_id has not sent")
同时,我确信我编写的代码Ajax是正确的尝试在启动购物车后添加
request.session.modified=True
。
每次您干扰Django时,都应该通知它会话已更改。我找到了解决方案每次更改会话后,应使用:
request.session.save()
我感谢大家的帮助我不知道如何操作会话,但您是否尝试过在请求中没有“cart”时在
之前添加行print(request.session)
,以查看发生了什么?如果购物车不在str(request.session)中,您可能需要执行?但这两个问题都很难解决。我尝试了“if cart not in str(request.session)”,但再次显示了“cart not exist”(购物车不存在)。如果在request.session.modified=True
之后打印会话,输出中是否有“cart”?