Jinja2不尊重字典排序

问题描述:

根据this question,如果items(),keys(),values(),iteritems(),iterkeys()和itervalues()被调用时没有对字典进行中间修改,则列表将会直接对应。Jinja2不尊重字典排序

但是在Jinja2中,这看起来并不是这样,因为keys()和values()给我的命令不同。我试图建立一个表格如下:

{% for record in records %} 
     {% if loop.first %} 
      <tr> 
      {% for key in record.keys() %} 
       <th>{{ key }}</th> 
      {% endfor %} 
      </tr> 
     {% endif %} 
     <tr> 
     {% for value in record.values() %} 
      <td>{{ value }}</td> 
     {% endfor %} 
     </tr> 
    {% endfor %} 

和当前的值不对应的关键。任何人都会遇到这个?

+0

还没有。作为解决方法:是否使用'record.items()'然后选择键或值帮助?还是你考虑使用OrderedDict? –

+0

OrderedDict解决了谢谢 – tdc

似乎问题实际上是与psycopg.extras.DictCursor2。最后,我用hiro建议的OrderedDict