Jinja2不尊重字典顺序

时间:2015-07-03 15:57:21

标签: python dictionary jinja2

根据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 %}

目前这些值与键不对应。还有其他人遇到过这个吗?

1 个答案:

答案 0 :(得分:0)

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