Macros 如何在Jinja2中扩展宏?

Macros 如何在Jinja2中扩展宏?,macros,jinja2,Macros,Jinja2,对于以下略有不同的代码,我有一些宏用于定义不同类型的按钮 {# normal button #} {% macro btn() %} <a class="btn waves-effect waves-light" role="button" > {{kwargs.get('text')}} </a> {% endmacro %} {# rounded button #} {% macro btn_round() %} <

对于以下略有不同的代码,我有一些宏用于定义不同类型的按钮

{# normal button #}
{% macro btn() %}
<a 
class="btn waves-effect waves-light" 
role="button"
>
{{kwargs.get('text')}}
</a>
{% endmacro %}

{# rounded button #}
{% macro btn_round() %}
<a 
class="btn waves-effect waves-light btn-rounded" 
role="button"
>
{{kwargs.get('text')}}
</a>
{% endmacro %}

{# outline button #}
{% macro btn_outline() %}
<a 
class="btn waves-effect waves-light btn-outline-primary" 
role="button"
>
{{kwargs.get('text')}}
</a>
{% endmacro %}

{# outline rounded button #}
{% macro btn_outline_round() %}
<a 
class="btn waves-effect waves-light btn-rounded btn-outline-primary" 
role="button"
>
{{kwargs.get('text')}}
</a>
{% endmacro %}
我不太确定这是否可能,但我希望我的代码是短路和维护,这是“干”的原则。谢谢

{# normal button #}
{% macro btn() %}
<a 
class="btn waves-effect waves-light" 
role="button"
>
{{kwargs.get('text')}}
</a>
{% endmacro %}

{# rounded button #}
{% macro btn_round() %}

extend macro btn() add class btn-rounded

{% endmacro %}

{# outline rounded button #}
{% macro btn-outline-round() %}

 extend macro btn_round add class btn-outline-secondary

{% endmacro %}