Py学习  »  Django

Django模板扩展远程url

Pierre Sigwalt • 4 年前 • 250 次点击  

我已将电子邮件模板(.html)移动到S3存储桶中。我想用base.html和正文发送一封电子邮件,这样我就可以重用我的所有模板。但是在尝试时django找不到模板。

注意:我现在没有使用django存储,而是使用template类手动获取模板(参见下面的代码)。

我已经尝试了两种方法:

  1. 使用完整的远程url https://s3-ap-southeast-1.amazonaws.com/xxxx 在扩展标记中

得到一个错误消息:TemplateDoesNotExist(即使它确实存在)

  1. 在扩展标记中使用相对路径:../../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项目中删除所有电子邮件模板。

谢谢你的帮助!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50712
 
250 次点击