Django password_reset视图,什么是模板的链接变量?

时间:2011-05-01 20:30:41

标签: django django-templates

根据Django的password_reset观点,它

  

允许用户重置密码   通过生成一次性使用链接   可以用来重置密码,和   将该链接发送给用户   注册电子邮件地址。

电子邮件由用户提供的模板生成。我找不到的是在电子邮件模板中使用的链接变量的名称(并且它不是 {{link}} :)

例如,在 django-registration 应用中,它是 {{activation_key}}

我甚至在我的模板中运行 {%debug%} 来查看所有变量,看起来没有任何明显的结果。此外,这是Django 1.2,而不是开发版本。

更新:我的模板如下:

{{ protocol }}://localhost:8000{% url django.contrib.auth.views.password_reset_confirm uidb36=uid token=token %}

Click on the link (or copy/paste into your browser), and then you can change your password

并给我结果(在模拟电子邮件的文本文件中):

http://localhost:8000/accounts/password/reset/confirm/12-2ws-1c60be00955ea4=
a7a62e/

Click on the link (or copy/paste into your browser), and then you can chang=
e your password

2 个答案:

答案 0 :(得分:2)

您必须在'django.contrib.auth.views.password_reset_confirm'视图中执行反向网址,如default email所示。

答案 1 :(得分:1)

查看默认password_reset_email.html

http://code.djangoproject.com/browser/django/trunk/django/contrib/admin/templates/registration/password_reset_email.html

这就是生成链接的原因:

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

修改

版本1.2:

http://code.djangoproject.com/browser/django/branches/releases/1.2.X/django/contrib/admin/templates/registration/password_reset_email.html?rev=15606

不引用视图。

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

有关此修订的说明:

Revision 12889,617字节由russellm签到,13个月前(diff)

  

修正了#12945 - 更正了解析   当{%url%}中的参数时   参数列表之间有空格   逗号。这是修订版   r12503,修复了#12072。   感谢SmileyChris?对于补丁,   并寻找所有的   在旧式的文档中的位置   使用了语法。

以下是关于url标记更改的说明:

http://docs.djangoproject.com/en/dev/releases/1.3/#changes-to-url-and-ssi