我有变量fruits
:
fruits = {
"apple": {},
"banana": {
"params": {
"color": "yellow",
"size" 100
}
}
}
..和jinja2模板my_stuff.j2
:
In my bag I have:
{% for k,v in fruits.iteritems() %}
- {{ k }}
{% endfor %}
当我渲染它时,我会得到:
In my bag I have:
- apple
- banana
问题:如何达到此信息:
In my bag I have:
- apple
- banana color="yellow" size="100"
在Python中,您可以这样做:
for key,val in fruits.iteritems():
if val.get('params'):
print key + ' ' + str(' '.join('{}={}'.format(param_key, param_val) for param_key, param_val in val['params'].items()))
else:
print key
,在Jinja
中,您可以做这样的事情:
{%for key,val in something.iteritems()%}
{%if val.get('params')%}
- {{key}} {%for item in val['params'].items()%} {{item | join ('=') }} {%endfor%}
{%else%}
- {{key}}
{%endif%}
{%endfor%}