django 使用者登出時重定向到管理頁面的解決方法
阿新 • • 發佈:2021-09-08
django 使用者登出時重定向到管理頁面的解決方法:確保INSTALLED_APPS中應用順序配置正確,確保登出模板名稱正確。
使用者登入和登出
使用django自帶的認證系統django.contrib.auth
時,預設的認證檢視會在templates下的registration資料夾中查詢模板,
其中登入模板為login.html
,登出模板為logged_out.html
。
出現問題:
兩模板繼承自同一base.html
,登入繼承有效,但登出頁面重定向到了Django管理頁面。
登入頁面:
登出頁面:
解決方法
https://stackoverflow.com/questions/15467831/django-logout-redirects-me-to-administration-page
嘗試了其中一種方法:
- Make sure your app comes before
django.contrib.admin
settings.py
.
建立應用配置settings.py
中的INSTALLED_APPS
時,應用名如users
應該放在django.contrib.admin
應用之前。
# mysite/settings.py INSTALLED_APPS = [ 'polls.apps.PollsConfig', 'learning_logs', 'users', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
- Make sure your template is called
logged_out.html
.
登出頁面的模板名稱為logged_out.html