Django的简单模板EmailMessage构建器
项目描述
django-mail-builder
从模板轻松构建EmailMessages
快速入门
在您的代码中,您可以使用build_message
函数构建一个EmailMessage
类,从模板获取其值。
def build_message(template_names, extra_context=None, force_multipart=False,
**defaults):
参数
template_names:: 从中选择模板名称的列表。单个模板名称将包装在列表中。
extra_context:: 传递给渲染模板块的额外上下文。
force_multipart:: 强制使用EmailMultipartMessage
而不是EmailMessage
。
如果提供了html
块,则无论如何都会使用EmailMultipartMessage
。
defaults:: 传递给消息类的默认值。这些值将被模板块覆盖。
模板块
标量字段
这些块将按原样渲染,并传递给消息。如果传递了'html'块,则将构造一个EmailMultipartMessage
,并将html
内容添加为text/html
替代内容。
- 主题
- from_email
- 正文
- html
列表字段
这些块将被渲染,然后使用str.splitlines
按行分割。
- 收件人
- bcc
- cc
- reply_to
视图
提供了一个扩展django.views.generic.FormView
的实用视图,用于在表单验证时发送电子邮件。
from mail_builder.views import EmailFormView
当调用 form_valid
时,它将使用 email_template
构建消息,并将表单的清洗数据作为 form
放入上下文中。然后,它将使用在类上设置的 fail_silently
标志发送消息。
额外的类属性
- email_template
- email_kwargs = {}
- fail_silently = False
添加了两个额外的方法,以便可以控制上下文和参数
def get_email_context(self, form, **kwargs):
kwargs.setdefault('form', form.cleaned_data)
return kwargs
def get_email_kwargs(self, form, **kwargs):
kwargs.update(self.email_kwargs)
return kwargs
模板标签
已添加两个模板标签,以帮助将文件嵌入到您的电子邮件中。
要使用它们,请将 mail_builder
添加到您的 INSTALLED_APPS
设置中,并在模板中包含 {% load mailbuilder %}
。
<img src="{% cid_static 'static/file/name.png' %}">
<img src="{% cid_media user.icon %}">
这将使用“cid”URI渲染文件,并将 MIMEImage 对象放置在上下文中的列表中。
msg = build_message(..., inline_images=True)
项目详情
django_mail_builder-0.5.1-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f1c0cc6e159609c2f7c8422e452e031390b3f5d40f97080c0beffa403adce4a7 |
|
MD5 | 1be2c13e5d174a416a9e21d0f3b09816 |
|
BLAKE2b-256 | f1e5460aa0574ef2bb1193eff85607dad9950d90c1d0eaf73ae90692babab157 |