*args, **kwargs in jinja2 macros
The trick is that kwargs
has to be accessed at least once in any macro that should accept them. That is to say, you must call {{ kwargs }}
once in macro body without declaring it in macro argument list. The same is true for {{ varargs }}
.
This will not work
{% macro example_2(one, two) %} * {{one}} - {{two}}{% endmacro %}{{example_2(1, 2, test="Hello")}}
This will
{% macro example_2(one, two) %} * {{one}} - {{two}} * {{kwargs}}{% endmacro %}{{example_2(1, 2, test="Hello")}}