0
我注意到上下文變量似乎不適用於導入的模板。也許我做錯了什麼?Jinja2渲染上下文不適用於導入的模板
我有一個模板包含一個宏和另一個模板,導入宏並使用它。
macro = ("{% macro some_macro() %}"
"{{ func('a') }}"
"{% endmacro %}")
use_macro = ("{% from 'macro' import some_macro %}"
"{{ some_macro() }}")
loader = jinja2.loaders.DictLoader({'macro': macro,
'template': use_macro})
env = jinja2.Environment(loader=loader)
template = env.get_template('template')
現在,當我嘗試func
呈現模板的背景下,它失敗,因爲func
未定義:
rendered = template.render(func=lambda x: x)
它的工作時func
是在全局:
env.globals.update(func=lambda x: x)
rendered = template.render()
這是否按預期或這看起來像一個錯誤?