假设我有这个带有宏的模板(这些是简化的):
{# macros.html #}
{% macro a(opts = {}) %}
{{ opts.a }}
{% endmacro %}
{% macro b(opts = {}) %}
{{ opts.b }}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)
而这一个包含覆盖
{# macros_override.html #}
{% macro a(opts = {}) %}
Overridden: {{ opts.a }}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)
然后我希望在同一名称空间下有一个包含所有这些宏的模板 macros
{# template.html #}
{% import 'macros.html' as macros %}
{% import 'macros_override.html' as macros %}
{{ macros.a({ 'a': 'foo' }) }}
{{ macros.b({ 'b': 'bar' }) }}
Run Code Online (Sandbox Code Playgroud)
和我期望的输出:
Overridden: foo
bar
Run Code Online (Sandbox Code Playgroud)
但是b …
jinja2 ×1