如何在Jinja中循环包含多个值的字典?

时间:2018-08-12 23:06:42

标签: python django jinja2

我有一个这样的字典:{'a': [Object, 0], 'b': [Object, 1] }其中object是具有多个属性的实际对象。我正在尝试检查每个键,以查看数组中的第二个值是0还是1。如果它是1,那么如果它是0,我将显示“ Hello”,我将显示“ Goodbye” “到目前为止,这是我目前似乎无法使用的:

{% for key in follower_list %}
   {% if follower_list[key][1] == 0 %}
        <p>Hello</p>
   {% else %}
         <p>Goodbye</p>
{% endif %}

在这里,follower_list是字典。我的IDE出现错误,提示操作员期望follower_list[key][1]在Jinja中可以执行这种逻辑的方式?

2 个答案:

答案 0 :(得分:4)

尝试使用此方法:

{% for key, value in follower_list.items() %}
    {% key %}
    {% value %}

这将调用字典上的items函数,让您遍历字典的所有键和值。

答案 1 :(得分:4)

使用iteritems遍历字典:

{% for key, value in follower_list.items %}
    {% if value.1 == 0 %}
        <p>Hello</p>
    {% else %}
        <p>Goodbye</p>
{% endfor %}

选中此docs