2017-06-13 59 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 %} 
相關問題