django设置cookie并删除co​​okie

时间:2019-01-10 01:54:27

标签: django cookies

我正在django中设置cookie,但没有响应。当用户登录时,我触发一个api来验证其数据,然后我试图将其user_id保存在一个类的cookie中,然后在另一个类中尝试删除该cookie意味着用户已注销。

class APIloginView(View):

    def get(self):
        r = requests.post(url,parameters)
        if 'user_id' not in request.COOKIES:
            request.COOKIES['user_id']='2133212332'
        print(request.COOKIES.get('user_id'))
    return HttpResponse(r)

但是当我尝试访问另一个类的值时,却没有显示任何内容

class logout(View):
    def get(self):
        print(request.COOKIES.get('user_id'))
        pass

我在哪里做错了?我知道删除del request.session['user_id']之类的会话,如何删除特定的cookie?

1 个答案:

答案 0 :(得分:1)

需要在返回的响应中设置Cookie。

def get(self, request):
    r = requests.post(url,parameters)
    response = HttpResponse(r)
    response.set_cookie('user_id', '2133212332')
    return response

您的代码也可以正常工作。您正尝试在任何地方访问request,但是它不存在,因为您的get没有request参数。您的意思是:

def get(self, request):
    ...