Django在字典中显示字典中的值

问题描述 投票:0回答:2

我正在尝试使用django在模板中的字典中显示字典中的值。我的观点中有一个这样的字典:

characters = {
        "char1": {'name': "David",
                   'stars': 4,
                   'series': "All star"},
        "char2": {'name': "Patrick",
                   'stars': 3,
                   'series': "Demi god"}
}

我可以在页面上显示整个字典,但是我只想显示“名称”和“大卫”键:值对。我在模板中写了以下内容:

{% for char in characters  %}
    {% for key, value in char %}
      {{ key }}: {{ value }}
    {% endfor %}
{% endfor %}

然而,这并没有向我展示任何东西。这个双循环有什么问题?

谢谢

python django loops dictionary
2个回答
1
投票

循环键值对时,必须添加.items。见下文(Python 3):

{% for char in characters.items %}
  {% for c in char %}
    name: {{ c.name }}
  {% endfor %}
{% endfor %}

在Python 2中它将是.iteritems

{% for char in characters.iteritems %}
  {% for c in char %}
      name: {{ c.name }}
{% endfor %}

0
投票

感谢kfarnell的帮助,我终于得到了这个:

{% for character, params in characters.items %}
   {{ params.name }}: {{ params.stars }}
{% endfor %}
© www.soinside.com 2019 - 2024. All rights reserved.