Я использую встроенную аутентификацию Django для отправки электронного письма для сброса пароля. Отправка электронного письма работает, но когда я пытаюсь перейти по ссылке на страницу, чтобы сбросить пароль, Django меняет URL-адрес (вроде как переадресация, я думаю), а затем пытается разрешить URL-адрес до 'http://127.0.0.1:8000/registration/USER_ID/set-password', вместо 'http://127.0.0.1:8000/registration/USER_ID/TOKEN'. Django затем выдает ошибку:' NoReverseMatch в / registration / reset / USER_ID / set-password / '
У меня нет файла с именем «set-password», и нигде в моем коде (шаблоны, URLconf) у меня нет «set-password».
urlpatterns = [
...
...
path('password_reset/', auth_views.PasswordResetView.as_view(),
name='password_reset'),
path('password_reset/done/', auth_views.PasswordResetDoneView.as_view(),
name='password_reset_done'),
path('reset/<uidb64>/<token>/',
auth_views.PasswordResetConfirmView.as_view(),
name='password_reset_confirm'),
path('reset/done', auth_views.PasswordResetCompleteView.as_view(),
name='password_reset_complete'),
]
Я использую код, найденный в документации (https://docs.djangoproject.com/en/2.1/topics/auth/default/#using-the-views), для сопоставления моего URL, поэтому я не создаю ничего нового. Похоже, Django удаляет токен из URL?