首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Django reset_password_confirm TemplateSyntaxError问题

Django reset_password_confirm TemplateSyntaxError问题
EN

Stack Overflow用户
提问于 2011-01-25 15:06:56
回答 8查看 8.8K关注 0票数 17

当我使用不带参数的django.contrib.auth.views.password_reset_confirm时,它是有效的,并且我可以毫无问题地呈现模板,当添加uidb36和token参数时,它会失败。

呈现时捕获令牌:找不到具有参数'()‘和关键字参数'{'uidb36':'111',’NoReverseMatch‘:’1111111111111‘}的令牌的反向。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-01-26 13:43:28

很可能是你的urls.py出了问题。您需要设置正确的模式来获取作为uidb36参数传递的URL值和TOKE值。如果不是,它将抛出一个类似于您上面看到的错误。

类似于:

(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', {'template_name' : 'registration/password_reset.html',  'post_reset_redirect': '/logout/' })

注册/密码_重置.html-是我的自定义模板

注销-是我的自定义注销操作

票数 24
EN

Stack Overflow用户

发布于 2012-05-22 19:30:20

我在Django 1.3中遇到了这个问题,并且浪费了很多时间,因为这个错误可能会掩盖一些潜在的问题。

我需要将这个添加到重置电子邮件模板的顶部:

{% load url from future %}

此外,Django文档中的示例与示例url不匹配:

{{ protocol}}://{{ domain }}{% url 'auth_password_reset_confirm' uidb36=uid token=token %}

因此,我不得不将上面的auth_password_reset_confirm更改为password_reset_confirm

票数 6
EN

Stack Overflow用户

发布于 2014-02-13 01:41:14

如果您使用的是Django 1.6+,并且遇到类似的情况,那么您可能需要在您的模板和urls中将uidb36更新为uidb64。

示例url:url(r'^password/reset/confirm/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$', auth_views.password_reset_confirm

并在模板中重置链接:

{{ protocol}}://{{ domain }}{% url 'django.contrib.auth.views.password_reset_confirm' uidb64=uid token=token %}

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

https://stackoverflow.com/questions/4790838

复制
相关文章

相似问题

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