2

要发送带有 HTML 标记的电子邮件,我使用django-templated-email。我怎样才能改变主题?

send_templated_mail(
    template_name='druduser/views/register_email',
    from_email=settings.DEFAULT_FROM_EMAIL,
    recipient_list=[email],
    context={'username': username,},
)

我找到了解决方案:
我必须{% block subject %}阻止{% block html %}...

谢谢你的帮助!

4

1 回答 1

2

引用自文档:

出于遗留目的,您可以在设置文件中指定电子邮件主题(但是,首选方法是在模板中使用 {% block subject %})

因此,您可以通过定义subject块在模板中指定自定义主题权限:请参阅docs


如果要进行TEMPLATED_EMAIL_DJANGO_SUBJECTS设置,template_name应该只是实际模板的名称(不带扩展名)。

在 中定义TEMPLATED_EMAIL_DJANGO_SUBJECTS字典settings.py,例如:

TEMPLATED_EMAIL_DJANGO_SUBJECTS = {
    'welcome':'Welcome to my website',
}

定义获取模板和文件扩展名的位置:

TEMPLATED_EMAIL_TEMPLATE_DIR = 'templated_email/' #Use '' for top level template dir
TEMPLATED_EMAIL_FILE_EXTENSION = 'email'

welcome然后只需使用以下方式发送邮件template_name

send_templated_mail(
    template_name='welcome',
    from_email=settings.DEFAULT_FROM_EMAIL,
    recipient_list=[email],
    context={'username': username,},
    )

在这种情况下,您的模板应位于templated_email/welcome.email.

希望有帮助。

于 2013-05-29T20:30:10.877 回答