社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

Django模板扩展远程url

Pierre Sigwalt • 5 年前 • 328 次点击  

我已将电子邮件模板(.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
 
328 次点击