Django-rest-auth: обратное для 'password_reset_confirm' не найдено. 'password_reset_confirm' не является допустимой функцией представления или именем шаблона - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь использовать функцию сброса пароля django-rest-auth, но после пост-запроса на /rest-auth/password/reset/ я получаю ошибку, указанную в заголовке ( Traceback ), и я не понимаю, почему , Я следовал процедуре установки со страницы документации. Мой urls.py это:

from django.urls import include, path

urlpatterns = [
    path('users/', include('users.urls')),
    path('rest-auth/', include('rest_auth.urls')),
    path('rest-auth/registration/', include('rest_auth.registration.urls')),

Я также добавил необходимые приложения в settings.py

1 Ответ

0 голосов
/ 31 октября 2018

Я решил, добавив

from django.urls import include, path, re_path
from rest_auth.views import PasswordResetConfirmView

re_path(r'^rest-auth/password/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', PasswordResetConfirmView.as_view(),
            name='password_reset_confirm'),

до URL в urls.py. Таким образом, вы получите ссылку для сброса по почте: ../password/reset/confirm/uid/token. Для завершения процедуры вы должны отправить запрос POST на ../password/reset/confirm/ с этим телом:

{
    "new_password1": "",
    "new_password2": "",
    "uid": "",
    "token": ""
}
...