ERR_TOO_MANY_REDIRECTS django 2.1 的问题

Mar*_*tix 7 python django python-3.x django-2.1

我开始在 django 中创建登录模块。登录模块正常,但注销时遇到问题。当我单击“注销”时 - 我们看到“错误 -ERR_TOO_MANY_REDIRECTS”

\n\n

该文件中的某些内容可能不正确:account/urls.py

\n\n
from django.conf.urls import url\nfrom django.urls import path\nfrom django.contrib.auth import views as auth_views\nfrom . import views\n\napp_name = \'account\'\n\nurlpatterns = [\n    path(\'\', auth_views.LoginView.as_view(template_name=\'account/login.html\'), name=\'login\'),\n    path(\'logout/\', auth_views.LogoutView.as_view(template_name=\'registration/logout.html\'), name=\'logout\'),\n    path(\'logout-then-login/\', auth_views.logout_then_login, name=\'logout_then_login\'),\n    path(\'dashboard/\', views.dashboard, name=\'dashboard\'),\n
Run Code Online (Sandbox Code Playgroud)\n\n

基本.html

\n\n
<body>\n  <div id="header">\n  {% if request.user.is_authenticated %}\n    <ul class="menu">\n      <li {% if section == "dashboard" %} class="selected"{% endif %}>\n        <a href="{% url "account:dashboard" %}">Panel g\xc5\x82\xc3\xb3wny</a>\n      </li>\n      <li {% if section == "images" %} class="selected"{% endif %}>\n        <a href="#">Obrazy</a>\n      </li>\n      <li {% if section == "people" %} class="selected"{% endif %}>\n        <a href="#">Ludzie</a>\n      </li>\n    </ul>\n  {% endif %}\n\n    <span class="user">\n        {% if request.user.is_authenticated %}\n            Witaj, {{ request.user.first_name }}\n            <a href="{% url "account:logout" %}">Wyloguj</a>\n        {% else %}\n            <a href="{% url "account:login" %}">Zaloguj</a>\n        {% endif %}\n    </span>\n    </div>\n    <div id="content">\n        {% block content %}\n        {% endblock %}\n    </div>\n</body>\n
Run Code Online (Sandbox Code Playgroud)\n\n

注销.html

\n\n
{% extends "base.html" %}\n\n{% block title %} Wylogowanie {% endblock %}\n\n{% block content %}\n    <h1>Wylogowanie</h1>\n    <p>Zostales wylogowany. Mozesz\n        <a href="{% url "account:login" %}">zalogowac sie ponownie</a></p>\n{% endblock %}\n
Run Code Online (Sandbox Code Playgroud)\n\n

设置.html

\n\n
...\nLOGIN_REDIRECT_URL = reverse_lazy(\'account:dashboard\')\nLOGIN_URL = reverse_lazy(\'account:login\')\nLOGOUT_REDIRECT_URL = reverse_lazy(\'account:logout\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

显示错误

\n

Wil*_*ing 6

您已设置LOGOUT_REDIRECT_URL指向回这LogoutView将导致重定向循环。应该LOGOUT_REDIRECT_URL 指向用户使用 注销后将LogoutView被重定向到的 URL 。

设置LOGOUT_REDIRECT_URL将覆盖任何已设置的模板。LogoutView由于您已经在 中明确设置了模板urls.py,因此您应该LOGOUT_REDIRECT_URL从允许渲染模板的设置中删除。