【问题标题】:Jinja2 not respecting dict orderingJinja2 不尊重 dict 排序
【发布时间】:2015-07-03 15:57:21
【问题描述】:

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

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

【问题讨论】:

  • 没有。作为解决方法:使用record.items() 然后选择键或值有帮助吗?还是您考虑过使用OrderedDict
  • OrderedDict 解决了谢谢

标签: python dictionary jinja2


【解决方案1】:

似乎问题实际上出在psycopg.extras.DictCursor2 上。最后我按照hiro的建议使用了OrderedDict

【讨论】:

    猜你喜欢
    • 2017-09-18
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    相关资源
    最近更新 更多