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