2017-06-13 60 views
0

我想做类似下面的事情,但不知道如何使它与我为我的程序编写的HTML兼容。如何使用Django打印字典中从最高值到最低值的项目?

{% for u in sorted(dictionary, key=dictionary.get, reverse=True) %} 
    {{ u|safe }}<br> 
    Priority level <b>{{ dictionary[u] }}</b><br> 
    ---<br> 
{% endfor %} 

我不反对在views.py文件中做它。理想情况下,我只想显示前20名左右的成绩。

+0

过得好字典以下?你能表达意见吗?是来自数据库的字典吗? – Exprator

+0

不幸的是我不能显示整个代码。如果你想看看我想要做什么,请查看http://sigsecure.ngrok.io。这里是渲染 - 返回呈现(请求,'patrec.html',{'siglist':sorted(siglist.iteritems()),'best_match':best_match,})'' – NickTheInventor

回答

0

我尝试了一切从无处不到。我想出了以下各项

sort = [] 
for u in sorted(siglist, key=siglist.get, reverse=True)[:25]: 
    sort.append([u, str(siglist[u])]) 

return render(request, 'patrec.html', { 
    'siglist': sort, 
    'best_match': best_match, 
}) 

然后放在HTML的

{% for u in siglist %} 
    {{ u.0 }}<br> 
    {{ u.1 }}<br><br> 
{% endfor %} 
1

排序在视图中,因为你正在做的,也是颠倒顺序,并限制20:

return render(request, 'patrec.html', { 
    'siglist': sorted(siglist.iteritems(), reverse=True)[:20], 
    'best_match': best_match, 
}) 

,然后访问模板中的所有排序项:

{% for tup in siglist %} 
    <p> Key is {{ tup[0] }} </p> 
    <p> Value is {{ tup[1] }} </p> 
{% endfor %} 
相关问题