Jinja2的框架变量我有一个全局函数test
在全局功能
from jinja2.utils import contextfunction
@contextfunction
def test(context):
context.get_all()
而且在我的测试,我称它是这样的...
{% set i = 0 %}
{% for j in range(0, 10) %}
{% set k = 0 %}
{{ test() }}
{% endfor %}
,在最终的唯一变量在test
中的context
是i
。 j
和k
是“不可读的”。有什么办法来访问他们比他们突入test(j, k)
你与模板背景下进口? (例如: {%from'admin/lib.html'import render_form,render_field,render_form_fields with context%}) – rll
为了这个例子,没有导入。在编译的模板上调用'render'并将'test()'添加到'env ['globals']' – Shaun
您必须将j,k传递给该函数。这些变量是for块的局部变量,不可用于全局上下文。 j是不言自明的; k是本地的,因为['{%set%}'没有分配给全局上下文](https://github.com/pallets/jinja/issues/164)。 – approxiblue