我在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 %}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top