Python Jinja2在字典项列表上循环

Python Jinja2在字典项列表上循环,python,flask,jinja2,Python,Flask,Jinja2,我有一个正在循环的字典项列表。 我可以得到年份,当我试图从字典中获取数据时,它会再次打印年份 [{'2020': [], '2019': ['05'], '2018': ['02', '01']}] {% for d in dirs %} {% for sd in d %} {{ sd }} {% for doy in sd %} {{ doy }}<br> {% endfor %}&

我有一个正在循环的字典项列表。
我可以得到年份,当我试图从字典中获取数据时,它会再次打印年份

  [{'2020': [], '2019': ['05'], '2018': ['02', '01']}] 
  {% for d in  dirs %}
      {% for sd in d %}
     {{ sd }}
         {% for doy in sd %}   
            {{ doy }}<br>
         {% endfor %}<br><br>
    {% endfor %}
{% endfor %}
我想打印的是

2020
2019
05
2018
02
01
改变



这里的理由是,在字典上使用
for。。。在…
中,语法迭代字典的键。这意味着您的嵌套循环试图循环字典键内的值,而不是字典键的值。

如上所述,您可以通过修改第三个循环来实现。
要简化:

list = [{'2020': [''], '2019': ['05'], '2018': ['02', '01']}]
模板:

{% for obj in list %}
  {% for obj2 in obj %}
    <p>{{ obj2 }}</p>
    {% for obj3 in obj[obj2] %}
     <p>{{ obj3 }}</p>
    {% endfor %}
  {% endfor %}
{% endfor %}
{% for doy in d[sd] %}
list = [{'2020': [''], '2019': ['05'], '2018': ['02', '01']}]
{% for obj in list %}
  {% for obj2 in obj %}
    <p>{{ obj2 }}</p>
    {% for obj3 in obj[obj2] %}
     <p>{{ obj3 }}</p>
    {% endfor %}
  {% endfor %}
{% endfor %}
2020   
2019   
05   
2018  
02   
01