为什么它呈现 Django 管理站点而不是自定义注销页面

why does it renders django administration site instead of custom log out page

我为注销页面创建了自己的模板,但它加载了默认的 Django 注销页面而不是它。根据 this solution,我需要在 setting.py 中的应用名称后添加 django.contrib.admin。我已经尝试过了,但对我不起作用。

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'),

logout.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 %}

当您使用自定义注销页面时,您必须告诉 django 该页面在哪里。

你用 template_name 您的注销 url:

url(r'^logout/$', auth_views.logout, { 'template_name': 'path_to/logout.html',}, name='logout')

如果您使用的是 django v1.10 或更新版本,您可以使用 LOGOUT_REDIRECT_URL 设置 属性 来重定向注销页面。

https://docs.djangoproject.com/en/1.11/ref/settings/#logout-redirect-url