Comment sont extra args & kwargs traitées pour un Jinja2 macro? La documentation n'est pas exactement clair désinvolte.
Par exemple, c'est clairement faux:
{% macro example_1(one, two, **kwargs) %}
do macro stuff
{% endmacro %}
qui résultats dans
jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: expected token 'name', got '**'
La documentation dit:
kwargs
Comme varargs , mais pour le mot-clé arguments. Tous les non consommées mot-clé arguments sont stockés dans la variable spéciale.
Malheureusement, une zone de liste déroulante supplémentaire mot-clé arguments est une erreur,
{% 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'
Je n'ai pas d'exemples et ne suis pas de définition sur le Jinja2 code source de l'atm. La documentation n'est pas clair pour moi à ce point. Toutes les pensées apprécié.