【发布时间】:2021-02-03 15:23:18
【问题描述】:
我正在使用身份验证视图在 django 中重置密码。由于我已经在我的用户应用程序中声明了这个视图并使用了 URL 的 appname,所以我收到了一个错误。我知道我应该更改 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 %}
【问题讨论】:
-
参考这个stackoverflow.com/questions/52782462/… 有帮助吗?
-
第一部分没有帮助,但可能第二部分会解决它,但是,我想避免该解决方案并以另一种方式修复它。