繁体   English   中英

Django锁定注销

[英]Django lockdown logout

我正在尝试注销锁定会话。 在文档中说

LOCKDOWN_LOGOUT_KEY

如果在锁定URL的查询字符串中提供了密钥,则该密钥将从预览中注销用户。

我不确定我是否理解正确。 我试图这样实现:

  1. 我在中间件列表中有锁定中间件。
  2. 我在settings.py中有以下锁定选项:

 LOCKDOWN_FORM = 'lockdown.forms.AuthForm' LOCKDOWN_AUTHFORM_STAFF_ONLY = False LOCKDOWN_LOGOUT_KEY = 'logout' 

  1. 我有一个链接到“ / logout /”的按钮

 <form action="/logout/"> <input type="submit" value="Logout"/> </form> 

  1. 这只是链接到HttpResponseRedirect()回到我的主页:

urls.py:

 path('logout/', views.logout, name='logout') 

views.py:

 def logout(request): return HttpResponseRedirect("/") 

该链接有效,将我带回到主页。 但是没有注销。 有谁知道如何做到这一点?

编辑:我找到了解决方案。 我在views.py中的注销函数中添加了一行代码:

 def logout(request): request.session.flush() return HttpResponseRedirect("/") 

我找到了解决方案。 我在views.py中的注销函数中添加了一行代码:

 def logout(request): request.session.flush() return HttpResponseRedirect("/") 

只需将LOCKDOWN_LOGOUT_KEY的值(默认情况下为“ preview-logout”)添加为查询字符串参数即可。

<a href="/?preview-logout">Log out</a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM