python – jinja2:按定义的键顺序排序dict?
发布时间:2020-12-20 11:43:13 所属栏目:Python 来源:网络整理
导读:所以我想说我想显示一些这样的数据: ? b is foo? a is bar? c is baz …但我的数据集看起来像这样(或任何其他顺序,因为JSON不关心): {"a": "bar","b": "foo","c": "baz"} 如何告诉Jinja2按键顺序显示我的数据?如果我不确定元素c是否总是存在,该怎么办?
所以我想说我想显示一些这样的数据:
? b is foo ? a is bar ? c is baz …但我的数据集看起来像这样(或任何其他顺序,因为JSON不关心): { "a": "bar","b": "foo","c": "baz" } 如何告诉Jinja2按键顺序显示我的数据?如果我不确定元素c是否总是存在,该怎么办? 我认为这将是这样的,无济于事: <ul> {% for key,value in my_dict.items()|dictsort(by=['b','a']) %} <li>{{ key }} is {{ value }}</li> {% endfor %} </ul> 解决方法
您可以遍历硬编码的密钥列表:
<ul> {% for key in ('b','a','c') %} {% if key in my_dict %} <li>{{ key }} is {{ my_dict[key] }}</li> {% endif %} {% endfor %} </ul> 不存在的密钥由if测试处理. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |