首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django错误:没有找到参数的“password_reset_confirm”反转

Django错误:没有找到参数的“password_reset_confirm”反转
EN

Stack Overflow用户
提问于 2017-11-19 07:55:01
回答 4查看 4.5K关注 0票数 2

我正在使用Django 1.11构建一个用户帐户应用程序。我的帐户应用程序的urls为代码1,如下所示。我还有一个模板/注册文件夹和几个模板文件:在这里输入图像描述

输入电子邮件地址并收到带有以下链接的电子邮件后:http://127.0.0.1:8000/account/password-reset/confirm/MQ/4ra-66d3672f1d340589fbf9/

我点击上面的链接,浏览器重定向到这个链接:http://127.0.0.1:8000/account/password-reset/confirm/MQ/set-password/

错误提示:

/account/password-reset/confirm/MQ/set-password/的NoReverseMatch

在没有找到参数的情况下,反向表示“password_reset_confirm”。1模式尝试:['account/password-reset/confirm/(?P-\w+)/(?P-\w+)/$']请求方法: GET请求URL:http://127.0.0.1:8000/account/password-reset/confirm/MQ/set-password/ Django版本: 1.11.7异常类型: NoReverseMatch异常值:

在没有找到参数的情况下,反向表示“password_reset_confirm”。尝试了1种模式:['account/password-reset/confirm/(?P-\w+)/(?P-\w+)/$']

请帮我解决这个问题。看来,在我单击链接后,Django无法在password_reset_confirm.html /注册文件夹下呈现该模板。

代码1:

代码语言:javascript
复制
    # restore password urls
    url(r'^password-reset/$', auth_views.PasswordResetView.as_view(), name='password_reset'),
    url(r'^password-reset/done/$', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'),
    url(r'^password-reset/confirm/(?P<uidb64>[-\w]+)/(?P<token>[-\w]+)/$',
        auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
    url(r'^password-reset/complete/$',
        auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-03-23 14:03:02

转到密码重置,确认模板文件,然后删除表单上的操作,如下所示

代码语言:javascript
复制
<form   method="post"> </form> 

而不是这样:

代码语言:javascript
复制
<form   action={% url 'your template file name'%} method="post"></form>
票数 1
EN

Stack Overflow用户

发布于 2017-11-19 08:47:59

Django的错误消息是您的代码试图将password_reset_confirm反转到它的url,但是您没有提供url模式所需的uid64token参数。您应该找到执行reverse()的代码部分,并更新它以提供参数:

代码语言:javascript
复制
reverse('password_reset_confirm',args=(uid64, token))
票数 2
EN

Stack Overflow用户

发布于 2018-04-26 04:56:20

urls.py:

代码语言:javascript
复制
path('accounts/reset_password_confirm/<uidb64>/<token>/', PasswordResetConfirmView.as_view(), name='reset_password_confirm'),

改变上面的URL对我有效。虽然,我仍然没有收到电子邮件。错误消失了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47374766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档