2015-07-03 55 views
0

根據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

回答

0

似乎問題實際上是與psycopg.extras.DictCursor2。最後,我用hiro建議的OrderedDict