繁体   English   中英

在django模板中输出排序的python dict

[英]Output sorted python dict within django template

我有一个python dict,看起来如下(由于隐私原因,重要信息被替换为“xxx”)。 我想在django模板中显示这个dict,但它应该是有序的,所以它应该以“A”开头,然后继续“B”而不是“H”

这是我的命令(缩写):

{   'A': [   {'birthday_date': None,
             'first_name': 'Alberto',
             'last_name': 'xxx',
             'name': 'Alberto xxx',
             'uid': xxx},
         {   'birthday_date': None,
             'first_name': 'Antony',
             'last_name': 'xxx',
             'name': 'Antony xxx',
             'uid': xxx}],
'H': [   {   'birthday_date': '08/28',
             'first_name': 'Hitoshi',
             'last_name': 'xxx',
             'name': 'Hitoshi xxx',
             'uid': xxx}],
'C': [   {   'birthday_date': '05/07/1985',
             'first_name': 'Chr',
             'last_name': 'xxx',
             'name': 'Chr xxx',
             'uid': xxx}],
'E': [   {   'birthday_date': None,
             'first_name': 'Edimond',
             'last_name': 'xxx',
             'name': 'Edimond xxx',
             'uid': xxx},
         {   'birthday_date': '08/30',
             'first_name': 'Erika',
             'last_name': 'xxx',
             'name': 'Erika xxx',
             'uid': xxx}],
'B': [   {   'birthday_date': '08/16/1987',
             'first_name': 'Bhaktin',
             'last_name': 'xxx',
             'name': 'Bhaktin xxx',
             'uid': xxx}],
'I': [   {   'birthday_date': '08/25/1987',
             'first_name': 'Ivette',
             'last_name': 'xxx',
             'name': 'Ivette xxx',
             'uid': xxx}]}

这是我的django模板:

{% for letter, friend in bdays_all.items %}
    <h2>{{ letter }}</h2>
    {% for user in friend %}
         ...
    {% endfor %}
{% endfor %}

这很好用,但没有订购。 但这就是我需要的。 我尝试了python的sorted()函数,但没有任何成功。 我只想订购这些信件。 看起来微不足道,但我猜不是。

有任何想法吗?

非常感谢提前!

字典未分类。

您需要将视图转换为视图中的嵌套列表:最简单的方法是调用sorted(bdays_all.items())

您还可以在视图中创建一个带有排序键的新词典:

dictio = {'a': 'orange', 'c':'apple', 'b': 'bannana'}
di = {}
for key in sorted(dictio.iterkeys()):
    di[key] = dictio[key]

结果如下:

di = {'a': 'orange', 'b': 'bannana', 'c': 'apple'}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM