反向找不到'password_reset_confirm'。 'password_reset_confirm'不是有效的视图函数或模式名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反向找不到'password_reset_confirm'。 'password_reset_confirm'不是有效的视图函数或模式名称相关的知识,希望对你有一定的参考价值。

我想使用默认的django.contrib.auth.views通过电子邮件确认重置密码。所有这些代码都在urls.py上:

from django.conf.urls import url
from . import views
from django.contrib.auth import views as auth_views

app_name = 'houses'

urlpatterns = [

    # Root and details page
    url(r'^$', views.index, name='index'),
    url(r'^(?P<house_id>[0-9]+)/$', views.view_house, name='index'),

    # Register / login / logout
    url(r'^register/$', views.UserFormView.as_view(), name='register'),
    url(r'^login/$', views.login_user, name='login_user'),
    url(r'^logout/$', views.logout_user, name='logout_user'),

    # User profiles and edit profiles
    url(r'^profile/$', views.view_profile, name='view_profile'),
    url(r'^profile/edit/$', views.edit_profile, name='edit_profile'),

    # ---- ERRORS ARE HERE ---- change / reset passwords 
    url(r'^change_password/$', views.change_password, name='change_password'),
    url(r'^password_reset/$', auth_views.password_reset,
        {'post_reset_redirect': 'houses:password_reset_done',}, name='password_reset'),
    url(r'^password_reset/done/$', auth_views.password_reset_done, name='password_reset_done'),
    url(r'^reset-password/confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$',
        auth_views.password_reset_confirm, name='password_reset_confirm'),

]

无论我尝试什么,我一直得到:

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

是因为我的应用名称是房屋吗?我一直在努力工作几个小时而没有运气。

答案

如果您在模板中使用反向URL

{% url 'houses:password_reset_confirm' uidb64=<uidb64> token=<token> %}

如果你在python代码中使用反向url然后使用

reverse('houses:password_reset_confirm', args=(<uidb64>,<token>,))

在这里,<uidb64>表示uidb64值<token>表示token

以上是关于反向找不到'password_reset_confirm'。 'password_reset_confirm'不是有效的视图函数或模式名称的主要内容,如果未能解决你的问题,请参考以下文章

Django urls - 找不到“url name”的反向

即使名称设置正确,也找不到反向 Django

Django新手:“找不到反向”

找不到目标'x86_64-apple-ios-simulator'的模块'MyCustomFramework';找到:arm64,armv7-apple-ios,arm

Spring Boot JPA 错误:无法处理托管/反向引用“defaultReference”:从类型中找不到反向引用属性

Django - NoReverseMatch:“bha”的反向没有找不到参数