注销后我将用户重定向到主页。在两者之间,我想删除所有/或特定客户端Cookie(我之前已设置)。Django注销(重定向到主页)..删除cookie?
def logoutuser(request):
logout(request)
return redirect('app.home.views.home')
要调用response.delete_cookie('user_location'),没有响应对象。我该怎么做呢?
注销后我将用户重定向到主页。在两者之间,我想删除所有/或特定客户端Cookie(我之前已设置)。Django注销(重定向到主页)..删除cookie?
def logoutuser(request):
logout(request)
return redirect('app.home.views.home')
要调用response.delete_cookie('user_location'),没有响应对象。我该怎么做呢?
就像jobscry说的那样,logout()清除会话数据,但它看起来像您也设置了自己的cookie。
你可以换身份验证注销视图,它会返回一个HttpResponse:
def logout_user(request):
response = logout(request, next_page=reverse('app.home.views.home'))
response.delete_cookie('user_location')
return response
或者,如果你仅仅使用相对于视图的注销方法,你可以使用返回值的重定向( )你有[我也假设也会返回一个HttpResponse]的方法。
def logout_user(request):
logout(request)
response = redirect('app.home.views.home')
response.delete_cookie('user_location')
return response
根据http://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.logout
在Django 1.0更改:调用注销()现在清除会话数据。
似乎删除会话数据,但不是客户端cookie。我正在使用Django 1.1 – Ramya 2009-08-14 13:03:02
谢谢你的建议工作..! – Ramya 2009-08-14 13:15:01
** NB ** _“由于cookie的工作方式,'path'和'domain'应该与'set_cookie()'中使用的值相同,否则cookie可能不会被删除。”_ https:/ /docs.djangoproject.com/en/1.3/ref/request-response/#django.http.HttpResponse.delete_cookie – 2012-09-01 05:06:55
谢谢@MattBall。任何语言,框架,库等都必须是这种情况。 – muffs 2014-06-19 23:02:11