2010-06-27 45 views
6

我在python中使用jinja2作为我的模板引擎。在jinja2中连续多个块?

我想加入多个块的内容,并希望在标签之前将其呈现在模板的末尾。 {它们是整个代码中的各种JavaScript代码片段,我希望移动到文件末尾,我该怎么做? }

编辑:

我想移动了在孩子神社模板创建我的所有内嵌的JavaScript。我想将它们移到页面底部。所以我在页面末尾的父模板中创建了一个块,并在子模板中使用它来编写javascript。但是,可能有多个孩子,所以有多个JavaScript块,并且由于jinja2中不支持多个块,我有什么其他解决方案? --------一个替代我认为是以这种方式创建JavaScript本身,它不需要内联。

+0

能在更多的细节解释你正在尝试做的? – 2010-06-28 23:50:43

回答

15

我假设,由多个孩子,你的意思是有模板继承自模板继承从模板...从基本模板继承。如果是这种情况,则需要在每个模板中定义相同的javascript块,并在所有子级中调用super(),并添加更多JavaScript。调用super()将打印父代的javascript块的输出,继续等下去。一路上,每个块可能会添加自己的代码。

所以,你可以在每个模板是这样的:

{% block javascript %} 
    {{ super() }} 

    function foo(x, y) { 
     return x + y; 
    } 
{% endblock %}