【发布时间】:2021-06-04 16:25:14
【问题描述】:
这行代码负责发送包含密码重置链接的电子邮件。
path('accounts/password-reset/', auth_views.PasswordResetView.as_view(), name='password_reset'),
但是邮件看起来很枯燥,阅读时很难区分重要部分。
为了吸引用户的注意力并更好地引导他们,我想为这封电子邮件添加样式。
可以通过以下几行将自定义模板添加到电子邮件中:
...
path('accounts/', include('django.contrib.auth.urls')),
path('accounts/password-reset/', auth_views.PasswordResetView.as_view(html_email_template_name='registration/password_reset_email.html'), name='password_reset'),
...
问题是邮件里面的reset-link由一个uidb64值和一个token组成,比如:
localhost:8000/password-reset/calculated_uidb64/calculated_token
将这些值传递给password_reset_email.html 的自定义模板的正确方法是什么?
【问题讨论】:
-
@HemantMalik 非常感谢。我实际上对你分享的话题有评论。问题是我不知道如何将必要的参数传递到模板中。 django 是否计算整个链接并且我以某种方式将该链接传递给模板?或者我应该使用 uidb64 和令牌从头开始形成链接?如果有怎么办?
-
我刚刚找到你的评论。你试过这个答案stackoverflow.com/a/56530555/10140011
-
@HemantMalik 我不明白 .txt 文件的功能。另外我不知道如何在电子邮件模板中设置和定位重置链接。如何传递链接参数?
-
在上面的共享答案中,建议在模板中添加
<a href="{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}" style=".."> Reset Password </a>以添加url,您是否尝试过这个。另外,我发现一篇文章证明了上面分享的答案。看看garmoncheg.blogspot.com/2012/07/…
标签: python html django email templates