首页 > 解决方案 > 如何修复没有反向匹配“密码_reset_done”?

问题描述

我是 Django 的新手,所以从昨天开始,我一直遇到密码重置中没有反向匹配的问题。我不知道是什么问题。每当我访问“127.0.0.1:8000/reset-password”时,它都会说没有反向匹配。请帮我。

这是 urs.py

from django.conf.urls import url
from . import views
from django.contrib.auth.views import login, logout, password_reset, 
  password_reset_done

app_name='blog'
urlpatterns = [
url(r'^$', views.home,name='home-blog'),
url(r'^About/',views.About ,name='About'),
url(r'^register/',views.register, name='register'),

url(r'^login/$',login,{'template_name':'blog/login.html'}),
url(r'^logout/$',logout,{'template_name':'blog/logout.html'}),
url(r'^reset-password/$',password-reset, name='password-reset'),
url(r'^reset-password/done/$',password_reset_done, name='password_reset_done'),

]

标签: djangopython-3.xdjango-urlspassword-recovery

解决方案


这似乎是一个问题127.0.0.1:8000/reset-password

或者换句话说,您的url(r'^reset-password/$',password-reset, name='password-reset'), 多个属性都丢失了,例如success_url =

形成我的最新项目(但我使用 Django 2.2.4):

from django.urls import path, reverse_lazy
from . import views
from django.contrib.auth import views as auth_views

app_name='account'

    urlpatterns = [

<....>

    # -- Password Reset
path('password_reset/', auth_views.PasswordResetView.as_view(
    template_name='password/password_reset.html',
    email_template_name='password/emails/password_reset_email.html',
    subject_template_name='password/emails/password_reset_subject.txt',
     success_url = reverse_lazy('account:password_reset_done'),
    ), 
    name='password_reset'),

<....>
]

推荐阅读