我正在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?
答案 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):
...