19

在 Jinja2 中,如何访问与 ?{% set X=Y %}合并的文件中分配的变量(即 )include

给定两个 Jinja2 文件,我希望以下内容可以工作:

A.jinja

Stuff
{% include 'B.jinja' -%}
B has {{ N }} references

B.jinja

{% set N = 12 %}

我希望A.jinja在使用 Jinja2 编译时,会产生以下输出:

Stuff 
B has 12 references

但是,它会产生:

Stuff
B has  references

N在包含设置的文件的文件中,我非常愿意提供有关如何访问 Jinja2 变量的任何输入,例如上面的N

感谢您的阅读。

布赖恩

4

1 回答 1

34

include和之间是有区别的import,尽管你应该能够同时做到这两点。

  • include 'B.jinja只是呈现模板并忽略其中的任何变量赋值或宏。
  • import 'B.jinja' as BB,就像一个模块一样导入,所以你必须输出B.N.
  • from 'B.jinja' import N直接导入变量N

将您的导入行更改为最后一个选项,看看是否可以解决问题。如果您需要更多帮助,请查看文档

于 2010-06-17T08:16:43.290 回答