Python django操作会话(插入、更新等)

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

我想在购物车中添加产品的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(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”?