Как дополнительные аргументы и 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 atm. В настоящее время документация мне не ясна. Любые мысли оценили.