Django password_change перенаправляет на неработающую ссылку
[Edit] SOLVED, но я все равно не отказался бы от ответа, почему. Мне пришлось добавить:
LOGIN_URL = '/users/login'
в settings.py. Итак, почему django не использует подкаталог "django.contrib.auth.urls"?
[Оригинальный вопрос ниже] Я следую книге "Django для начинающих", глава 11 смена пароля. Вот моя проблема: Когда пользователь выходит из системы и пытается перейти на страницу password_change: http://127.0.0.1:8000/users/password_change/ он перенаправляется на http://127.0.0.1:8000/accounts/login/?next=/users/password_change/ и я получаю 404, Page Not Found.
В книге используется приложение под названием "учетные записи", но я предпочитаю "пользователи", и я не могу найти никаких ссылок на "учетные записи" в своих файлах.
Если пользователь вошел в систему, все работает правильно, но в этом случае не происходит перенаправления входа.
Вот мой главный вопрос: почему django перенаправляет на http://127.0.0.1:8000/accounts/ для входа в систему?
Вот мой django_project/urls.py
from django.contrib import admin
from django.urls import path
from django.urls import path, include
from django.views.generic.base import TemplateView
urlpatterns = [
path("admin/", admin.site.urls),
path("users/", include("users.urls")),
path("users/", include("django.contrib.auth.urls")),
path("", include("pages.urls")),
]
Если я перехожу по адресу http://127.0.0.1:8000/users/, я получаю ожидаемый 404, а в отладке перечислены эти URL для входа, чего я и ожидаю:
Using the URLconf defined in django_project.urls, Django tried these URL patterns, in this order:
admin/
users/ signup/ [name='signup']
users/ login/ [name='login']
users/ logout/ [name='logout']
users/ password_change/ [name='password_change']
users/ password_change/done/ [name='password_change_done']
users/ password_reset/ [name='password_reset']
users/ password_reset/done/ [name='password_reset_done']
users/ reset/<uidb64>/<token>/ [name='password_reset_confirm']
users/ reset/done/ [name='password_reset_complete']
[name='home']
The current path, users/, didn’t match any of these.
вы можете добавить в settings.py эту строку
LOGIN_REDIRECT_URL = 'https://YourLoginUrl/'