簡體   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