为了账号安全,请及时绑定邮箱和手机立即绑定

Django 密码重置与应用程序名称

Django 密码重置与应用程序名称

慕婉清6462132 2023-12-09 16:16:31
我正在使用 auth 视图来重置 django 中的密码。由于我已在用户应用程序中声明此视图并使用 appname 作为 URL,因此出现错误。我知道我应该更改 django 预构建模板中的 URL,但我不知道覆盖此类内容的最佳方法。这是我的用户应用程序的 URL.py:app_name = 'users'urlpatterns = [    path('register/', views.register, name='register'),    path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),    path('logout/', auth_views.LogoutView.as_view(template_name='users/logout.html'), name='logout'),    path('password-reset/',         auth_views.PasswordResetView.as_view(             template_name='users/password_reset.html'         ),         name='password_reset'),    path('password-reset/done/',         auth_views.PasswordResetDoneView.as_view(             template_name='users/password_reset_done.html'         ),         name='password_reset_done'),    path('password-reset-confirm/<uidb64>/<token>/',         auth_views.PasswordResetConfirmView.as_view(             template_name='users/password_reset_confirm.html'         ),         name='password_reset_confirm'),    path('password-reset-complete/',         auth_views.PasswordResetCompleteView.as_view(             template_name='users/password_reset_complete.html'         ),         name='password_reset_complete'),]这是错误:NoReverseMatch at /users/password-reset/Reverse for 'password_reset_confirm' not found. 'password_reset_confirm' is not a valid view function or pattern name.这是它所指的行:{{ 协议 }}://{{ 域 }}{% url 'password_reset_confirm' uidb64=uid token=token %}
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

也许您需要添加模块名称才能访问它,如下所示:

{% url 'users:password_reset_confirm' %}

https://docs.djangoproject.com/en/3.1/topics/http/urls/#reversing-namespaced-urls


查看完整回答
反对 回复 2023-12-09
?
HUX布斯

TA贡献1876条经验 获得超6个赞

我花了一整天的时间才弄清楚:我尽了一切努力来弄清楚这一点,但最终找到了答案

不要将密码重置、密码重置完成、密码重置确认和密码重置完成写在同一个 app_name url_pattern 中

在根项目名称 url_pattern 中写入这些内容的正确方法


查看完整回答
反对 回复 2023-12-09
  • 2 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信