#python #django #django-authentication
#python #django #django-аутентификация
Вопрос:
http://127.0.0.1:8000/accounts/login/
Эта страница создана успешно и работает нормально:
И проблема с этими страницами: http://127.0.0.1:8000/accounts/logout/
Эта страница перенаправляет меня на страницы администрирования Django с сообщением о повторном входе в систему, но я не хочу этого.
Я разместил свой HTML-файл в
..templates/registration/logged_out.html
И несколько раз проверял орфографическую ошибку, чтобы понять, почему не работает.
Мои файлы urls:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('catalog.urls')),
path('accounts/', include('django.contrib.auth.urls')),
]
urlpatterns = static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
и мой logged_out.html является:
{% extends 'base.html' %}
{% block content %}
<p>Logged out!</p>
<a href="{% url 'login' %}">Click here to login again.</a>
{% endblock %}
Кто-нибудь может сказать мне, что с этим не так? Как это исправить?
Комментарии:
1. взгляните на LOGOUT_REDIRECT_URL в ваших настройках, вот документация docs.djangoproject.com/en/2.1/ref/settings/#logout-redirect-url
Ответ №1:
Если вы определили это LOGOUT_REDIRECT_URL
в своих настройках, то LogoutView
произойдет перенаправление на нее.
Проверьте, определили ли вы LOGOUT_REDIRECT_URL
в своих настройках, и удалите ее, если она у вас есть.
Комментарии:
1. Я добавил это: STATIC_URL = ‘/ static /’ LOGIN_REDIRECT_URL = ‘/’ LOGOUT_REDIRECT_URL = ‘LogoutView’
2. но это показывает это сообщение: не найдено ни одного соответствия в / accounts / logout / Reverse для ‘LogoutView’. ‘LogoutView’ не является допустимой функцией просмотра или именем шаблона.
3. Это не то, что я предлагал. Если вы установите
LOGOUT_REDIRECT_URL = 'LogoutView'
, тоLogoutView
попытается изменить этот URL и перенаправить на него. Я попросил вас удалить это из настроек, или вы можете установитьLOGOUT_REDIRECT_URL = None
.4. Я установил: LOGOUT_REDIRECT_URL = None и он перенаправляет страницы администрирования
5. Это не перенаправляет меня на мою собственную страницу