【问题标题】:Django password_reset view, what is link variable for template?Django password_reset 视图,模板的链接变量是什么?
【发布时间】:2011-08-16 14:37:42
【问题描述】:

根据Django的password_reset视图,它

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

电子邮件由用户提供的模板生成。我找不到的是要在电子邮件模板中使用的 link 变量 的名称(它不是 {{ 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

【问题讨论】:

    标签: django django-templates


    【解决方案1】:

    您必须对 'django.contrib.auth.views.password_reset_confirm' 视图执行 url 反向操作,如 default email 所示。

    【讨论】:

    • 这看起来很有趣,但我无法让参数正常工作。我应该注意我使用的是 V 1.2,并且该链接是针对开发版本的 - 知道 1.2 是如何做到的吗?
    • 谢谢,但现在大部分都可以使用了。你的答案肯定是正确的(我赞成),但另一个更完整。
    【解决方案2】:

    看看默认的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 %}
    

    有一个关于此修订的注释说明:

    修订版 12889,617 字节由 russellm 签入,13 个月前(差异)

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

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

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

    【讨论】:

    • 几乎 工作 - 但在结束前包含大约六个字符的等号/空格。是否有一些参数导致它断线?或者知道如何解决它?
    • 是因为自动转义吗? docs.djangoproject.com/en/dev/ref/templates/builtins/…原模板关闭自动转义。
    • 我不确定它是自动转义,还是与行长有关。例如,我有另一行“单击链接...更改您的密码”,它在下一行被缩短为“chang=”“e your password”。希望这很清楚。
    • 您能否编辑您的原始帖子以包含您的模板外观以及您在查看页面源代码时获得的内容。
    • 除非您看到明显的内容,否则我可能会将该问题作为单独的问题发布。它似乎与构建激活链接无关,更多关于模板如何生成文本文件。
    猜你喜欢
    • 2015-03-24
    • 2012-03-06
    • 2011-07-25
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2011-03-04
    • 2015-05-23
    相关资源
    最近更新 更多