我应该在哪里存储电子邮件模板

时间:2019-07-17 09:03:56

标签: django python-3.x email templates html-email

当发生特定事件时,我会向客户发送电子邮件。有多个事件,每个事件都有不同的电子邮件模板。我不想将模板存储在代码中,因为我想避免每次添加新模板时都释放代码。 我在哪里以及如何存储模板? 我目前正在考虑将它们存储在数据库中。但是,如果要更改模板格式,将很困难。有更好的方法吗?

我正在使用django1.9和python3。

1 个答案:

答案 0 :(得分:0)

如果您发送广告电子邮件,通知,新闻等,建议您在“模板”文件夹中创建一个名为“电子邮件”的新文件夹及其相应的子文件夹。将这些模板存储在数据库中效率不高

您应该通过以下代码在settings.py中配置“模板”文件夹:

#settings.py
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_NAME = 'intranet'
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(os.path.join(BASE_DIR, '%s') % PROJECT_NAME, 'templates')
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.i18n',
            ],
        },
    },
]

它将在您的项目文件夹中创建一个文件夹,如下图:

Tree of folders