Jinja Macros:传递局部变量

时间:2015-07-09 06:39:04

标签: python flask jinja2

如何将模板中的所有局部变量传递给宏?

我可以像在test.html

中那样将var1,var 2传递给macro_function
collection = CloudCollection()
collection.add(Cloud(1, 2))
collection.add(Cloud(4, 6))
collection.shift(1, 1)

有类似

的东西
{% from 'macro.html' import macro_function  %}

{{ macro_function(var1, var2) }}

这样我就可以将test.html中的所有局部变量传递给宏了吗?

1 个答案:

答案 0 :(得分:0)

不确定为什么要这样做。 我会说将模板范围变量的定义保持在最低限度。 如果你需要一组变量,你可以从渲染宏的函数中传递一个包含所有相关键/值对的字典或对象。然后依次将dict / object传递给宏。