Django-rest-auth: обратное значение для 'password_reset_confirm' не найдено. 'password_reset_confirm' не является допустимой функцией представления или именем шаблона

Я пытаюсь использовать функцию сброса пароля 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 ответ

Решение

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

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": ""
}
from django.views.generic import TemplateView

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

    url(r'^', include('django.contrib.auth.urls')),
    url(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})/$',
        TemplateView.as_view(template_name="password_reset_confirm.html"),
        name='password_reset_confirm'),
]
Другие вопросы по тегам