Django не перенаправляет на правильный путь при сбросе пароля
В django password reset, в то время как имя пути password-reset/done/, django перенаправляет меня на страницу password_reset/done/. Никакие перенаправления не работают, кроме password-reset/, также не работает password-reset-confirm. Верните /user/reset/done/.
user/password-reset/ работает :
При POST форма возвращает страницу django по умолчанию и ссылку следующим образом:
Возвратная ссылка должна быть 'password-reset/done/', но возвратная ссылка : 'password_reset/done/'
Мое пользовательское приложение urls.py
from django.contrib import admin
from django.urls import path
from . import views
from django.conf.urls.static import static
from django.conf import settings
from django.contrib.auth import views as auth_views
app_name = "user"
urlpatterns = [
path('register/',views.register,name="register"),
path('login/',views.loginUser,name="login"),
path('logout/',views.logoutUser,name="logout"),
path('profile/',views.profileUser,name="profile"),
path('password-reset/',auth_views.PasswordResetView.as_view(template_name="password_reset.html"), name="password_reset"),
path('password-reset/done/',auth_views.PasswordResetDoneView.as_view(template_name="password_reset_done.html") , name="password_reset_done"),
path('password-reset-confirm/<uidb64>/<token>/',auth_views.PasswordResetConfirmView.as_view(template_name="password_reset_confirm.html"), name="password_reset_confirm"),
path('password-reset-complete/',auth_views.PasswordResetCompleteView.as_view(template_name="password_reset_complete.html"), name="password_reset_complete"),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Мой корневой проект urls.py
from django.contrib import admin
from django.urls import path
from django.urls.conf import include
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.auth import views
from article import views
urlpatterns = [
path('admin/', admin.site.urls),
path('',views.index, name="index"),
path('about/',views.about, name="about"),
path('articles/',include("article.urls")),
path('user/',include("user.urls")),
path('user/', include('django.contrib.auth.urls')),
path('contact/',views.contact, name="contact"),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Вы дважды использовали путь "user/" в своих urlpatterns. Просто удалите один из путей в зависимости от того, какой urlpatterns вам больше нравится. Вам не нужно определять пользователей/урлы самостоятельно, так как вы почти на 100% следуете встроенной системе аутентификации с небольшой разницей в "_". Поэтому я бы просто удалил ваш users/urls.py.
См. раздел "Представления аутентификации" в https://docs.djangoproject.com/en/3.2/topics/auth/default/