ERR_TOO_MANY_REDIRECTS django 2.1 的问题
Problem with ERR_TOO_MANY_REDIRECTS django 2.1
我开始在django 中创建登录模块。登录模块没问题,但我在注销时遇到问题。当我单击注销时 - 我们看到 "error -ERR_TOO_MANY_REDIRECTS"
可能此文件中的某些内容不正确:account/urls.py
from django.conf.urls import url
from django.urls import path
from django.contrib.auth import views as auth_views
from . import views
app_name = 'account'
urlpatterns = [
path('', auth_views.LoginView.as_view(template_name='account/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='registration/logout.html'), name='logout'),
path('logout-then-login/', auth_views.logout_then_login, name='logout_then_login'),
path('dashboard/', views.dashboard, name='dashboard'),
base.html
<body>
<div id="header">
{% if request.user.is_authenticated %}
<ul class="menu">
<li {% if section == "dashboard" %} class="selected"{% endif %}>
<a href="{% url "account:dashboard" %}">Panel główny</a>
</li>
<li {% if section == "images" %} class="selected"{% endif %}>
<a href="#">Obrazy</a>
</li>
<li {% if section == "people" %} class="selected"{% endif %}>
<a href="#">Ludzie</a>
</li>
</ul>
{% endif %}
<span class="user">
{% if request.user.is_authenticated %}
Witaj, {{ request.user.first_name }}
<a href="{% url "account:logout" %}">Wyloguj</a>
{% else %}
<a href="{% url "account:login" %}">Zaloguj</a>
{% endif %}
</span>
</div>
<div id="content">
{% block content %}
{% endblock %}
</div>
</body>
logout.html
{% extends "base.html" %}
{% block title %} Wylogowanie {% endblock %}
{% block content %}
<h1>Wylogowanie</h1>
<p>Zostales wylogowany. Mozesz
<a href="{% url "account:login" %}">zalogowac sie ponownie</a></p>
{% endblock %}
settings.html
...
LOGIN_REDIRECT_URL = reverse_lazy('account:dashboard')
LOGIN_URL = reverse_lazy('account:login')
LOGOUT_REDIRECT_URL = reverse_lazy('account:logout')
show error
您已将 LOGOUT_REDIRECT_URL
设置为指向回 LogoutView
,这将导致重定向循环。 LOGOUT_REDIRECT_URL
should point to a URL 用户将在 使用 LogoutView
.
注销后被重定向到
设置LOGOUT_REDIRECT_URL
将覆盖任何已设置的模板。由于您已在 urls.py
中明确为 LogoutView
设置了模板,因此您应该从设置中删除 LOGOUT_REDIRECT_URL
以允许呈现模板。
我开始在django 中创建登录模块。登录模块没问题,但我在注销时遇到问题。当我单击注销时 - 我们看到 "error -ERR_TOO_MANY_REDIRECTS"
可能此文件中的某些内容不正确:account/urls.py
from django.conf.urls import url
from django.urls import path
from django.contrib.auth import views as auth_views
from . import views
app_name = 'account'
urlpatterns = [
path('', auth_views.LoginView.as_view(template_name='account/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='registration/logout.html'), name='logout'),
path('logout-then-login/', auth_views.logout_then_login, name='logout_then_login'),
path('dashboard/', views.dashboard, name='dashboard'),
base.html
<body>
<div id="header">
{% if request.user.is_authenticated %}
<ul class="menu">
<li {% if section == "dashboard" %} class="selected"{% endif %}>
<a href="{% url "account:dashboard" %}">Panel główny</a>
</li>
<li {% if section == "images" %} class="selected"{% endif %}>
<a href="#">Obrazy</a>
</li>
<li {% if section == "people" %} class="selected"{% endif %}>
<a href="#">Ludzie</a>
</li>
</ul>
{% endif %}
<span class="user">
{% if request.user.is_authenticated %}
Witaj, {{ request.user.first_name }}
<a href="{% url "account:logout" %}">Wyloguj</a>
{% else %}
<a href="{% url "account:login" %}">Zaloguj</a>
{% endif %}
</span>
</div>
<div id="content">
{% block content %}
{% endblock %}
</div>
</body>
logout.html
{% extends "base.html" %}
{% block title %} Wylogowanie {% endblock %}
{% block content %}
<h1>Wylogowanie</h1>
<p>Zostales wylogowany. Mozesz
<a href="{% url "account:login" %}">zalogowac sie ponownie</a></p>
{% endblock %}
settings.html
...
LOGIN_REDIRECT_URL = reverse_lazy('account:dashboard')
LOGIN_URL = reverse_lazy('account:login')
LOGOUT_REDIRECT_URL = reverse_lazy('account:logout')
show error
您已将 LOGOUT_REDIRECT_URL
设置为指向回 LogoutView
,这将导致重定向循环。 LOGOUT_REDIRECT_URL
should point to a URL 用户将在 使用 LogoutView
.
设置LOGOUT_REDIRECT_URL
将覆盖任何已设置的模板。由于您已在 urls.py
中明确为 LogoutView
设置了模板,因此您应该从设置中删除 LOGOUT_REDIRECT_URL
以允许呈现模板。