django操纵会话(插入,更新,...)

时间:2016-01-22 15:40:38

标签: python django session cart django-sessions

我想在购物车中添加产品的ref_id(我使用django session和ajax)
你看看我写的代码并告诉我为什么总是显示"cart not exist" 解决问题我做了什么?

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是正确的

2 个答案:

答案 0 :(得分:2)

我找到了解决方案
 应该在每次更改会话后使用:

request.session.save()

我感谢大家的帮助

答案 1 :(得分:0)

尝试在启动购物车后添加request.session.modified = True。 您应该通知Django每次干扰时会话都已更改。