gpt4 book ai didi

python - Django 密码重置电子邮件主题

转载 作者:太空狗 更新时间:2023-10-29 21:21:22 25 4
gpt4 key购买 nike

我已经成功地为 Django 中的密码重置页面添加了我自己的自定义 HTML 模板,并且一切正常。唯一的问题是如何包含我自己的电子邮件主题。

默认设置是“[我的站点名称] 上的密码重置”,我显然可以在管理员中更改站点名称,但是有人知道如何覆盖整个主题行吗?

谢谢。

最佳答案

开发版

只需在您的模板目录中创建新文件 registration/password_reset_subject.txt。这将覆盖默认的 django 主题

参见 https://github.com/django/django/blob/master/django/contrib/auth/templates/registration/password_reset_subject.txt

https://github.com/django/django/blob/master/django/contrib/auth/forms.py第 150 行

在 Django 1.3 中

如果你使用内部化,只需在 .po 文件中添加

#: forms.py:143
#, python-format
msgid "Password reset on %s"
msgstr "YOUR SUBJECT HERE %s"

如果不遵循后续步骤

在根 urls.py 中

# change to your custom view
(r'^password_reset/$', 'your_app.views.password_reset'),

在 your_app/views.py 中

from django.contrib.auth.views import password_reset as django_password_reset
from .forms import CustomPasswordResetForm

# reuse Django view, but change form
def password_reset(*args, **kwargs):
kwargs['password_reset_form'] = CustomPasswordResetForm
django_password_reset(*args, **kwargs):

重写 your_app/forms.py 中的保存方法(我知道它不是 DRY 但应该可以工作:)

class CustomPasswordResetForm(PasswordResetForm):
def save(self, domain_override=None, email_template_name='registration/password_reset_email.html',
use_https=False, token_generator=default_token_generator, request=None):
from django.core.mail import send_mail
for user in self.users_cache:
if not domain_override:
current_site = get_current_site(request)
site_name = current_site.name
domain = current_site.domain
else:
site_name = domain = domain_override
t = loader.get_template(email_template_name)
c = {
'email': user.email,
'domain': domain,
'site_name': site_name,
'uid': int_to_base36(user.id),
'user': user,
'token': token_generator.make_token(user),
'protocol': use_https and 'https' or 'http',
}
send_mail(_("YOUR SUBJECT HERE %s") % site_name,
t.render(Context(c)), None, [user.email])

关于python - Django 密码重置电子邮件主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8456714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com