如何使用 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

如何实现网页代码清除所有cookies

如何使用 asp.net mvc 3 和 c# 清除 cookie?

Django 清除 COOKIES sessionid

使用 SAML 单次注销 (SLO) 调用注销 URL 后如何清除 Android 网络视图 cookie?

node express,注销后如何清除cookie