根据this question,如果调用items(),keys(),values(),iteritems(),iterkeys()和itervalues()而没有对字典进行干预,则列表将直接对应。
然而在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 :(得分:0)
似乎问题实际上是psycopg.extras.DictCursor2
。最后,我使用了hiro建议的OrderedDict
。