跳转到主要内容

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 (6.0 kB 查看哈希)

上传时间 Python 3

支持