我已将电子邮件模板(.html)移动到S3存储桶中。我想用base.html和正文发送一封电子邮件,这样我就可以重用我的所有模板。但是在尝试时django找不到模板。
注意:我现在没有使用django存储,而是使用template类手动获取模板(参见下面的代码)。
我已经尝试了两种方法:
-
使用完整的远程url
https://s3-ap-southeast-1.amazonaws.com/xxxx
在扩展标记中
得到一个错误消息:TemplateDoesNotExist(即使它确实存在)
-
在扩展标记中使用相对路径:../../assets/base.html
收到错误消息:do_extends'NoneType'对象没有属性'lstrip'
# To get my template
def _get_remote_template(self, email_template):
url = "%s/%s" % (self.email_host, email_template)
response = requests.get(url)
assert response.status_code == 200
return Template(response.content.decode("utf-8"))
基.html
<div class="body-section">
<!-- import here the content body -->
{% block body %}
{% endblock %}
</div>
template_1.html(第一种方法)
{% extends "https://s3-ap-southeast-1.amazonaws.com/xxxx/assets/templates/base.html" %}
template_1.html(第二种方法)
{% extends "../../assets/templates/base.html" %}
你对如何实现这一点有什么想法吗,我的主要目标是从我的django项目中删除所有电子邮件模板。
谢谢你的帮助!