题
我在Python中使用Jinja2进行模板引擎。
我想加入多个块的内容,并希望在模板的末尾(在标签)之前渲染它。 {它们是整个代码中的各种JavaScript片段,我想移至文件末尾,我该怎么做? }
编辑 :
我想移动在儿童Jinja模板中创建的所有内联JavaScript。我想将它们移至页面底部。因此,我在页面末尾的父模板中创建了一个块,并在子模板中使用它来编写JavaScript。但是,可能有多个孩子,因此多个JavaScript块,并且由于Jinja2中不支持多个块,我有什么解决方案? --------我认为一种替代方法是创建JavaScript本身,以使其无需内联。
解决方案
我认为,由多个孩子,您的意思是,有一些模板从模板上继承的模板...从基本模板继承。如果是这样,您需要定义相同的 javascript
在每个模板中阻止并致电 super()
在所有孩子中,除了添加更多JavaScript。打电话 super()
打印父母的输出 javascript
阻止,等等。一路上,每个块可以添加其自己的代码。
因此,您可以在每个模板中使用类似的东西:
{% block javascript %}
{{ super() }}
function foo(x, y) {
return x + y;
}
{% endblock %}
不隶属于 StackOverflow