Jinja2宏如何处理额外的args和kwargs?文档并不是很清楚。
例如,下面的代码显然是错误的:
这导致了
我没有例子,也没有在浏览Jinja2源代码。目前文档对我来说不太清晰。欢迎任何想法。
例如,下面的代码显然是错误的:
{% macro example_1(one, two, **kwargs) %}
do macro stuff
{% endmacro %}
这导致了
jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: expected token 'name', got '**'
文档中写道:
kwargs
类似于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源代码。目前文档对我来说不太清晰。欢迎任何想法。
{% macro example_2(one, two, test=None) %}
的方式? - Chris Morgan