我不断收到此错误:

NoReverseMatch at /accounts/password_reset/ Reverse for 'password_reset_confirm' 未找到。 “password_reset_confirm”不是有效的视图函数或模式名称

以下是我到目前为止的代码:

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


app_name = 'accounts'

urlpatterns = [
    url(r'^login/$', views.login_view, name='login_view'),
    url(r'^register_view/$', views.register_view, name='register_view'),
    url(r'^logout/$', views.logout_view, name="logout_view"),
    url(r'^profile_view/$', views.profile_view, name="profile_view"),
    url(r'password_change/$',auth_views.PasswordChangeView.as_view(template_name='password_change.html',success_url='/accounts/password_change_done')),
    url(r'password_change_done/',auth_views.PasswordChangeDoneView.as_view(template_name='password_change_done.html')),
    url(r'password_reset/$',auth_views.PasswordResetView.as_view(template_name='registration/password_reset_form.html',email_template_name='registration/password_reset_email.html',subject_template_name='registration/password_reset_email.txt',success_url='/accounts/password_reset_done/',from_email='mpho.maleka3@gmail.com')),
    url(r'password_reset_done/',auth_views.PasswordResetDoneView.as_view(template_name='registration/password_reset_done.html')),
    url(r'password_reset_confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',auth_views.PasswordResetConfirmView.as_view(template_name='registration/password_reset_confirm.html',success_url='/accounts/password_reset_confirm/'), name='password_reset_confirm'),
    url(r'password_reset_complete/',auth_views.PasswordResetCompleteView.as_view(template_name='registration/password_reset_complete.html')),
]

#1楼 票数:5

您需要知道 django 使用名称为password_reset_confirm的电子邮件主题的默认模板 (password_reset_email.html),但您使用的是名称空间 acocunts: password_reset_confirm ,您需要做的就是

  1. 使用此 attr email_template_name覆盖模板路径
auth_views.PasswordResetView.as_view(
  template_name ='accounts/registration/password_reset.html',
  email_template_name = 'accounts/registration/password_reset_email.html'),
  1. settings.py设置您的电子邮件配置以发送您的电子邮件,而不会出现错误(Errno 111)连接被拒绝

#2楼 票数:4

要让 Django 使用您的应用程序的registration/password_reset_form.html'模板,您需要将该应用程序移至INSTALLED_APPS设置中的django.contrib.admin上方

请注意,Django 并不能轻松地将命名空间与密码重置视图一起使用。 一旦你修复了这个NoReverseMatch ,你可能会发现你必须修复类似的错误。 将您的密码重置 URL 模式移动到没有命名空间的urls.py中可能会更容易。

  ask by Mphoza translate from so

未解决问题?本站智能推荐:

2回复

错误:未找到“password_reset_confirm”的反转。 “password_reset_confirm”不是有效的视图函数或模式名称

我在重置密码时遇到问题。 如果我删除命名空间app_name = 'crm'可以完美运行。 但是当我包含app_name = 'crm'我收到错误消息, 错误:找不到“password_reset_confirm”的反转。 “password_reset_confirm”不是有效的视图函数或模式
2回复

Django-rest-auth:未找到“password_reset_confirm”的反转。 “password_reset_confirm”不是有效的视图函数或模式名称

我正在尝试使用 django-rest-auth 密码重置功能,但在/rest-auth/password/reset/发布请求后,我收到标题中所述的错误( Traceback ),我不明白为什么。 我遵循了文档页面中的安装过程。 我的urls.py是: 我还在settings.py添加了所需的
3回复

找不到与“ password_reset_confirm”相反的字符。 'password_reset_confirm'不是有效的视图函数或模式名称

我想使用默认的django.contrib.auth.views来重置带有电子邮件确认的密码。 所有这些代码都在urls.py上: 无论我尝试什么,我都会不断得到: 是因为我的应用名称是房屋吗? 我已经尝试了好几个小时没有运气了。
1回复

不断收到 Reverse for 'password_reset_confirm' not found 的错误。 “password_reset_confirm”不是有效的视图函数或模式名称

嘿伙计们,我在我的网络应用程序上执行此功能以重置密码时不断收到此错误Idk 为什么会发生这是我的urls.py代码: 完整追溯: 这是我用来覆盖默认设置的模板之一reset_password.html : 另一个错误: 并且知道为什么会发生这种情况,因为我在 url 中发送了 uid
5回复

password_Reset_confirm上的NoReverseMatch

我有一个问题,让password_Reset_confirm位工作。 网址: password_reset_email.html ,其中包括: 但是在提交我的电子邮件以重置密码后,我收到以下错误消息: NoReverseMatch at / password_re
2回复

未找到“password_reset_done”的反转。 “password_reset_done”不是有效的视图函数或模式名称

我对 django 的视图“password_reset_done”有问题。 当我尝试打开帐户/重置密码时出现此错误。 但是如果我打开 url帐户/重置密码/完成它就可以了。 “帐户”应用程序的 URLS.PY 请帮忙! 提前致谢)
1回复

Django password_reset url和password_reset_confirm

账户/ urls.py 所以... password_reset_email.html 返回网址为: http://localhost:8000/uye/yeni-sifre/MTU/**set-password**/ 问题是,如何将“ **set-passw
1回复

Django 没有要求 password_reset_confirm 模板

我正在关注 Corey Schafer 视频讲座 >> 密码重置电子邮件 网址.py 并为这些路线创建了 3 个 HTML 文件 但根据他的讲座 >> 然后他按下按钮(请求重置密码),他收到错误,如noReverseMatch Reverse for 'password_