如何在 Jinja 中循环具有多个值的字典?

use*_*120 7 python django jinja2

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

{% for key in follower_list %}
   {% if follower_list[key][1] == 0 %}
        <p>Hello</p>
   {% else %}
         <p>Goodbye</p>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

这里, follower_list 是字典。我的 IDE 收到一个错误,说操作员需要follower_list[key][1]在 Jinja 中哪里可以执行这种类型的逻辑?

小智 6

尝试使用此方法:

{% for key, value in follower_list.items() %}
    {% key %}
    {% value %}
Run Code Online (Sandbox Code Playgroud)

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


Lev*_*rov 6

使用iteritems迭代通过你的字典:

{% for key, value in follower_list.items %}
    {% if value.1 == 0 %}
        <p>Hello</p>
    {% else %}
        <p>Goodbye</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

检查此文档