在jinja2 temp中只包含一次文件

2024-05-19 01:42:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以防止一个文件在模板中多次包含吗?在

以下是一些(损坏的)示例代码:

# test.py
import jinja2

ENV = jinja2.Environment(loader=jinja2.FileSystemLoader('.'))

template = ENV.get_template('template.html')
print template.render({})

模板如下所示:

^{pr2}$

如您所见,我已经包含jquery两次(oops)。我希望我能做一些与C预处理器类似的事情:

{% if _JQUERY is defined %}
{% else %}
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
{% set _JQUERY = 1 %}
{% endif %}

但这似乎行不通。这里有干净的解决方案吗?在

我这样做的原因是因为我有多个组件——每个组件都有自己的include文件,其中包含使用该组件所需的所有内容。目前,我正在将JQuery从include文件中分解出来,但是随着依赖关系的增长,这可能会变得很乏味,并且多次包含JQuery会导致一些脚本中断。在


Tags: 文件代码testenv模板jinja2示例include
1条回答
网友
1楼 · 发布于 2024-05-19 01:42:19

我曾经解决过这样的问题:

在基本.html公司名称:

{% set media_files = [] %}

子模板:

^{pr2}$

现在我推荐使用RequireJS、HeadJS或YepNope之类的东西

相关问题 更多 >

    热门问题