Django密码重置中的NoReverseMatch

Django密码重置中的NoReverseMatch,django,django-views,Django,Django Views,我正在使用Django3.1,我正在尝试重置密码。 每一步都很顺利,只有一步: 密码重置后,使用 密码重置确认视图, 我使用success\u url访问PasswordCompleteView,但出现NoReverseMatch错误: http://127.0.0.1:8000/customer/reset/Mjg/set密码/重置/完成/ < /代码>:MJG/设置密码/始终停留在中间。 我怎样才能删除这个 模板如下所示: {% extends "./base.html"

我正在使用Django3.1,我正在尝试重置密码。 每一步都很顺利,只有一步: 密码重置后,使用
密码重置确认视图
, 我使用success\u url访问
PasswordCompleteView
,但出现NoReverseMatch错误:
http://127.0.0.1:8000/customer/reset/Mjg/set密码/重置/完成/ < /代码>:MJG/设置密码/始终停留在中间。
我怎样才能删除这个

模板如下所示:

{% extends "./base.html" %}  
{% block title %}Confirmation du Mot de Passe{% endblock %}  
{% block content %} 
<h1>Réinitialisez votre mot de passe</h1>  
{% if validlink %} 
<p> Saisissez votre mot de passe, puis confirmez-le :</p> 
<form method="post">     
{{ form.as_p }}     
{% csrf_token %}     
<p><input type='submit' value='Changer'></p> 
</form> 
{% else %} 
<p>Le lien n'est pas valide. Veuillez renouveler votre demande</p> 
{% endif %}  
{% endblock %}
{%extends./base.html%}
{%block title%}通行证确认{%endblock%}
{%block content%}
你的名字是什么
{%if validlink%}
请确认以下内容:

{{form.as_p}} {%csrf_令牌%}

{%else%} 这是我的最爱。维列兹·雷诺韦勒·沃特·德蒙德

{%endif%} {%endblock%}
url路径如下所示:

{% extends "./base.html" %}  
{% block title %}Confirmation du Mot de Passe{% endblock %}  
{% block content %} 
<h1>Réinitialisez votre mot de passe</h1>  
{% if validlink %} 
<p> Saisissez votre mot de passe, puis confirmez-le :</p> 
<form method="post">     
{{ form.as_p }}     
{% csrf_token %}     
<p><input type='submit' value='Changer'></p> 
</form> 
{% else %} 
<p>Le lien n'est pas valide. Veuillez renouveler votre demande</p> 
{% endif %}  
{% endblock %}
path('reset//'),
auth_views.PasswordResetConfirmView.as_view(
template\u name=“customer/password\u reset\u confirm.html”,
成功\u url=“重置/完成/”,
post_重置_登录=真
),
name='password\u reset\u confirm')
结果是: 'http://127.0.0.1:8000/customer/reset/Mjg/set-密码/重置/完成/`
非常感谢您的帮助

您的
success\u url
必须以正斜杠
success\u url=“/reset/done/”
开头

但我会用更好的-:

从django.url导入反向
路径(“重置//”,
auth_views.PasswordResetConfirmView.as_view(
template\u name=“customer/password\u reset\u confirm.html”,
成功\u url=reverse\u lazy(“密码\u重置\u完成”),
post_重置_登录=真
),
name='password\u reset\u confirm')

以下是解决此小问题的详细代码:

path('reset/<uidb64>/<token>/',
         auth_views.PasswordResetConfirmView.as_view(
             template_name="customer/password_reset_confirm.html",
             success_url="/customer/reset/done/",
             post_reset_login=True),
         name='password_reset_confirm'),
path('reset//'),
auth_views.PasswordResetConfirmView.as_view(
template\u name=“customer/password\u reset\u confirm.html”,
success_url=“/customer/reset/done/”,
post_reset_login=True),
name='password\u reset\u confirm'),

通过详细说明成功的url解决了这个问题。

你能展示一下你构建表单的模板吗?你能在上面编辑你的帖子并更新代码吗当然:完成了。谢谢你NKSM:它工作得很好。我只需要用
/customer/
完成成功url中指定的一点路径,我通过您的推荐添加到
reset/done/
,我可以通过Django Debug看到
/Mjg/set password/
已自动删除。伟大的当然再次感谢你。