为啥它呈现 django 管理站点而不是自定义注销页面
Posted
技术标签:
【中文标题】为啥它呈现 django 管理站点而不是自定义注销页面【英文标题】:why does it renders django administration site instead of custom log out page为什么它呈现 django 管理站点而不是自定义注销页面 【发布时间】:2018-04-03 02:44:25 【问题描述】:我为注销页面创建了自己的模板,但它加载了默认的 django 注销页面而不是它。根据this solution,我需要将 django.contrib.admin 放在 setting.py 中我的应用名称之后。我已经尝试过了,但对我不起作用。
setting.py:
.....
INSTALLED_APPS = [
'league',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
urls.py:
from django.conf.urls import url
from . import views
from django.contrib.auth.views import login, logout, logout_then_login
urlpatterns = [
url(r'^login/$', login, name='login'),
url(r'^logout/', logout, name='logout'),
url(r'^logout-then-login/$', logout_then_login, name='logout_then_login'),
注销.html
% extends "league/base.html" %
% block title %Logged Out% endblock %
% block content %
<h1>Logged Out</h1>
% if form.errors %
<p>
You have been successfully logged out. You can <a href="% url 'login' %">login</a> again.
</p>
% endblock %
【问题讨论】:
请在您的问题中添加一些代码 您的注销网址在哪里?更新您的问题 【参考方案1】:当您使用自定义注销页面时,您必须告诉 django 该页面在哪里。
您使用template_name
执行此操作
您的注销网址:
url(r'^logout/$', auth_views.logout, 'template_name': 'path_to/logout.html',, name='logout')
【讨论】:
【参考方案2】:如果您使用 django v1.10 或更新版本,您可以使用 LOGOUT_REDIRECT_URL 设置属性来重定向注销页面。
https://docs.djangoproject.com/en/1.11/ref/settings/#logout-redirect-url
【讨论】:
以上是关于为啥它呈现 django 管理站点而不是自定义注销页面的主要内容,如果未能解决你的问题,请参考以下文章
有没有一种简单的方法可以完全自定义 Django 管理站点以显示不是字段的变量?