iam*_*pal 10 python templates jinja2
我在python中使用jinja2作为我的模板引擎.
我想加入多个块的内容,并希望在模板的末尾呈现它,就在标记之前.{他们是多个模板中的代码中的各种JavaScript代码段,我想移到文件的末尾,我该怎么做?}
编辑:
我想移动所有在子jinja模板中创建的内联javascript.我想将它们移到页面底部.所以我在页面末尾的父模板中创建了一个块,并在子模板中使用它来编写javascript.但是,可能有多个子,因此多个javascript块,并且在jinja2中不支持多个块,我有什么其他解决方案?--------我认为一个替代方案是以不需要内联的方式创建javascript本身.
Nik*_*iah 19
我假设有多个孩子,你的意思是有继承自模板的模板继承的模板......继承自基础模板.如果是这种情况,除了添加更多JavaScript之外,您还需要javascript
在每个模板中定义相同的块并调用super()
所有子项.调用super()
打印父javascript
块的输出,依此类推继承链.一路上,每个块可以添加自己的代码.
所以你可以在每个模板中都有这样的东西:
{% block javascript %}
{{ super() }}
function foo(x, y) {
return x + y;
}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)