通过列表/字典传递Jinja2宏参数

时间:2018-06-19 15:42:40

标签: templates macros arguments parameter-passing jinja2

我有一个带有多个参数的Jinja2宏。我想使用列表或字典来设置这些参数,例如像这样的东西:

{% macro mymacro(foo, bar) -%}
foo: {{ foo }}
bar: {{ bar }}
{%- endmacro %}

{% set args=[1, 2]  %}

{{ mymacro(args) }}

预期输出:

foo: 1
bar: 2

但是,这是行不通的,因为args中的列表已完全分配给foo,而bar保持为空。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

只需使用* operator将列表caps_per_team_per_group = df.groupby(['group', 'team']).Caps.sum() caps_per_team_per_group.plot(kind='bar', figsize=(15,5)) 解压缩为参数即可。这是一个python运算符,但是Jinja2显然也支持它,即使它没有记录。

args