根据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
答案 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