Jinja2 宏导入“带上下文”和全局变量:{% from file.html import macro_name with context %}

Tai*_*Tea 3 python django templates jinja2

在 Python 的 Jinja2 模板引擎中,我的“带上下文”宏无法从上下文访问全局变量。

导入语句:

{% import 'en-US/my_macro.html' as  all_macros %}
{% from 'en-US/my_macro.html' import  the_macro  with context  %}
Run Code Online (Sandbox Code Playgroud)

宏用法:

{{ all_macros.the_macro() }}
Run Code Online (Sandbox Code Playgroud)

正在调用宏,但全局变量没有价值。

这是“带上下文”的相关文档

Tai*_*Tea 6

出现这个问题是因为有两种方法可以调用宏。一种来自 all_macros 导入。第二个是名称 the_macro。

如果我使用电话:

{{ the_macro() }}
Run Code Online (Sandbox Code Playgroud)

然后宏可以从上下文访问全局变量!这确实是对文档的澄清。