如何使用 Django 清除 cookie
Posted
技术标签:
【中文标题】如何使用 Django 清除 cookie【英文标题】:How to clear cookies using Django 【发布时间】:2013-01-02 07:25:38 【问题描述】:我正在尝试为网站开发登录页面。我正在使用 Django 1.4.2。我使用set_cookie
存储了正确登录到cookie 的用户。但是我在 Django 的文档中没有找到clear_cookie
。如何清除cookie让用户退出?
【问题讨论】:
检查这个问题,它应该有助于***.com/questions/1275357/…这里是django 1.4的文档:docs.djangoproject.com/en/1.4/ref/request-response/… 你为什么不使用 Django 的身份验证框架?即使由于某种原因你不能使用它,你为什么不使用会话框架而不是原始 cookie? 我将代码从 tornado 移动到 django。源代码是使用 cookie 开发的。我不想对代码做太多改动。 是的,我已阅读文档,并在django-logoutredirect-to-home-page-delete-cookie提出问题 【参考方案1】:设置cookies:
def login(request):
response = HttpResponseRedirect('/url/to_your_home_page')
response.set_cookie('cookie_name1', 'cookie_name1_value')
response.set_cookie('cookie_name2', 'cookie_name2_value')
return response
删除 cookie:
def logout(request):
response = HttpResponseRedirect('/url/to_your_login')
response.delete_cookie('cookie_name1')
response.delete_cookie('cookie_name2')
return response
【讨论】:
以这种方式删除cookie仍然保留在浏览器中,第一手经验:/【参考方案2】:您可以简单地删除您存储在 cookie 中的任何内容 - 这样,即使 cookie 存在,它也不再包含会话跟踪所需的任何信息,并且用户需要再次授权。
(另外,这似乎是 Django logout(redirect to home page) .. Delete cookie? 的副本)
【讨论】:
以上是关于如何使用 Django 清除 cookie的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Apollo Server 清除设置的 cookie
如何使用 asp.net mvc 3 和 c# 清除 cookie?