Jinja2 宏如何处理额外的 args 和 kwargs?文档并不完全清楚。
例如,这显然是错误的:
{% macro example_1(one, two, **kwargs) %}
do macro stuff
{% endmacro %}
这导致
jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: expected token 'name', got '**'
文档说:
夸格斯
与varargs类似,但用于关键字参数。所有未使用的关键字参数都存储在这个特殊变量中。
不幸的是,任何额外关键字参数的组合都是错误的,
{% macro example_2(one, two) %}
do macro stuff
{% endmacro %}
{{ example_2(one, two, test='test') }}
TypeError: macro 'example_2' takes no keyword keyword argument 'test'
我没有示例,也没有在 Jinja2 源代码 atm 中讨论。目前我还不清楚文档。任何想法表示赞赏。