我想在列表字典中显示一些条目。
我的背景是:
keys = ['coins', 'colors']
dict = {'colors':['red', 'blue'],
'animals':['dog','cat','bird'],
'coins':['penny','nickel','dime','quarter'] }
模板代码:
<ul>{% for k in keys %}
<li>{{ k }}, {{ dict.k|length }}: [{% for v in dict.k %} {{ v }}, {% endfor %}]
{% endfor %}</ul>
我想看看:
* coins,4: [penny, nickel, dime, quarter,]
* colors,2: [red, blue,]
但我实际看到的是键,但没有值:
* coins,0: []
* colors,0: []
注意:我还尝试了dict.{{k}}
而不是dict.k
,但正如预期的那样,只是在模板渲染中给出了解析错误。在获得基本列表后,我将用forloop.last
删除尾随逗号。
从列表字典中显示所选值的秘诀是什么?
问题django template and dictionary of lists显示整个字典,但我的要求是只显示一个可能非常大的字典中的几个条目。
答案 0 :(得分:0)
<ul>
{% for k, v in dict.items %} # instead of iterating keys, iterate dict
{% if k in keys %} # if key found in keys
<li>
{{ k }}, {{ v|length }}: [{% for val in v %} {{ val }},{% endfor %}]
</li>
{% endif %}
{% endfor %}
</ul>