django.urls.exceptions.NoReverseMatch: обратное для 'password_reset_confirm' - PullRequest
0 голосов
/ 25 февраля 2019

Мой код файла urls.py:

from django.urls import path
from django.conf.urls import url
from . import views
from django.contrib.auth.views import PasswordResetView,PasswordResetDoneView,PasswordResetConfirmView

app_name = 'user'

urlpatterns = [
   url('^login/$',views.user_login,name="user_login"),
   url('^logout/$',views.user_logout,name="user_logout"),
   url('^password-reset/$',PasswordResetView.as_view(template_name='user/password_reset.html'),name="password_reset"),
   url('^password-reset/done/$',PasswordResetDoneView.as_view(template_name='user/password_reset_done.html'),name="password_reset_done"),
   url('^password-reset-confirm/<uidb64>/<token>/$',PasswordResetConfirmView.as_view(template_name='user/password_reset_confirm.html'),name="password_reset_confirm"),
   url('^home/$',views.register,name="register"),
   url('^manage_address/$',views.manage_address,name="manage_address"),
   url('^delete_address/(?P<address_id>[0-9]+)/$',views.delete_address,name="delete_address"),
   url('^contact_support/$',views.contact_support,name="contact_support"),
]

Отслеживание ошибок:

raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'password_reset_confirm' not found. 'password_reset_confirm' is not a valid view function or pattern name.
[25/Feb/2019 23:10:30] "POST /password-reset/ HTTP/1.1" 500 183309

1 Ответ

0 голосов
/ 25 февраля 2019

Код, возвращающий password_reset_confirm, не предполагает использования пространства имен.

Самое простое решение - удалить app_name = 'user' или переместить шаблоны URL для сброса пароля на другой urls.py.это не устанавливает app_name.

Если вам нужно использовать пространство имен, вам нужно будет изменить представление / шаблон, чтобы использовать пространство имен users везде, где вы переворачиваете URL-адреса.Это довольно сложно, поскольку есть несколько мест, где вы должны сделать это, чтобы заставить процесс сброса пароля работать.

...