Tivix/django-rest-auth

Reverse for 'password_reset_confirm' not found. 'password_reset_confirm' is not a valid view function or pattern name.

vahidkoohkan opened this issue · 8 comments

Hi!
This error occurs when the email is entered correctly:
django.urls.exceptions.NoReverseMatch: Reverse for 'password_reset_confirm' not found. 'password_reset_confirm' is not a valid view function or pattern name.
And when the wrong email is entered, this response will be returned:

{
    "detail": "Password reset e-mail has been sent."
}

(The result was the same in both logged in and logged out modes)

a part of my code:

from django.urls import include, path

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

I also tried this code but it was not useful:

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'),

django-rest-auth == 0.9.5
Django == 3.2.9
python == 3.9.0

Add this pattern, It worked for me.

from django.urls import include, path, re_path
from rest_auth.views import PasswordResetConfirmView
urlpatterns = [
# ...
        path('rest-auth/password/reset/confirm/<str:uidb64>/<str:token>', PasswordResetConfirmView.as_view(),
            name='password_reset_confirm'),
# ..
]

solved mine too

Add this pattern, It worked for me.

from django.urls import include, path, re_path
from rest_auth.views import PasswordResetConfirmView
urlpatterns = [
# ...
        path('rest-auth/password/reset/confirm/<str:uidb64>/<str:token>', PasswordResetConfirmView.as_view(),
            name='password_reset_confirm'),
# ..
]

Still not workink

did not work for me

Hi! This error occurs when the email is entered correctly: django.urls.exceptions.NoReverseMatch: Reverse for 'password_reset_confirm' not found. 'password_reset_confirm' is not a valid view function or pattern name. And when the wrong email is entered, this response will be returned:

{
    "detail": "Password reset e-mail has been sent."
}

(The result was the same in both logged in and logged out modes)

a part of my code:

from django.urls import include, path

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

I also tried this code but it was not useful:

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'),

django-rest-auth == 0.9.5 Django == 3.2.9 python == 3.9.0

I am also having the same issue. when i pass an incorrect email in password/reset then it shows success message Password reset e-mail has been sent. but when i pass the actual email which exist in the database it throws error.

Why is this happening? someone tell me

urlpatterns = [
    path("admin/", admin.site.urls),
    path("auth/", include("dj_rest_auth.urls")),
    path("auth/registration/", include("dj_rest_auth.registration.urls")),
    path("auth/password/reset", PasswordResetView.as_view(), name="rest_password_reset"),
    path("auth/registration/account-confirm-email/<str:key>/", redirect_email_confirm, name="account_email_verification_sent"),
    path("auth/reset/passowrd/confirm/<int:uid>/<str:token>/", reset_password_confirm, name="password_reset_confirm"),
    path('auth/google/', GoogleLogin.as_view(), name='google_login'),
]