我想做类似以下的事情,但不知道如何使它与我为我的程序编写的HTML兼容。
{% 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 :(得分: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 %}
答案 1 :(得分:0)
您可以尝试使用内置的dictsort对字典进行排序https://docs.djangoproject.com/es/1.10/ref/templates/builtins/#dictsort
答案 2 :(得分: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 %}