Jinja2:包含多个模板,并在它们之间共享变量

时间:2015-06-19 16:20:47

标签: templates jinja2

jinja2爱好者,

我正在从另一种模板语言迁移到jinja2。我希望在不改变结构的情况下尽可能多地转换现有模板,但我遇到了一些问题。

我有一个父文件,其中包含所有用户输入和要打印的主文本。我有4个文件要包含,每个文件都包含一些逻辑,并且“应该”根据该逻辑声明并赋值给变量。像这样:

  • parent(声明e,并使用a,b,c,d,并打印输出)
    • child1(声明a,使用e)
    • child2(声明b,使用a和e)
    • child3(声明c,使用a,b e)
    • child4(声明d,使用a,b,c和e)

现在,由于上下文传递,我可以在我的子模板中打印用户输入的值(“e”)。逻辑正确应用,并且在子内部,print显示变量(“a”,“b”,“c”或“d”)被分配给正确的值。但是一旦回到父模板,jinja2就会为这些变量打印一个空字符串。根本没有修改上下文(据我所知,谷歌搜索这是预期的吗?)。

所以我做了下一个合乎逻辑的事情(因为doc和google没有帮助),我在父级内部声明了变量(“a”,“b”,...),但同样,上下文不是改变。试图将值附加到变量(现在是列表),仍然没有乐趣。

那么,有没有办法让我用jinja2实现这个目标?谷歌搜索,没有喜悦。

Petzi

PS:也许重要的是说父文件将是另一个文件的子文件,依此类推......我的原始模板被组织为OOO树

0 个答案:

没有答案