所以我有这个作为我的HTML文件。如何使用Python和Django按照最大值到最小值列出字典中的所有项目?
<form method="post">
{% csrf_token %}
Problem: <input type="text" name="poi" autofocus>
<input type="submit" value="Submit">
<hr>
</form>
<br>
<ul>
{% for u in sort %}
<li>{{ u|safe }}</li>
{% endfor %}
<ul>
,我有那种叫我的变量使用以下这需要所有的项目在字典dictionary = {'hi': 5, 'hey': 3, 'hiya': 1}
和排序他们由最高到最低值。
for w in sorted(dictionary, key=dictionary.get, reverse=True):
sort.append(w)
现在列表按照从最高到最低的顺序排列。正如您在HTML文件中看到的那样,我试图按顺序打印它们。出了什么问题是它没有打印任何东西。我究竟做错了什么?
编辑:请参阅以下render
。
try:
return HttpResponse(request, 'patrec.html', {'sort':sort})
except:
return render(request, 'patrec.html')
你是否确信'sort'包含你所期望的? (您是否在视图代码中的日志消息中打印了它的内容?)您是否将'sort'传递给模板'render'调用? –
我做了一个编辑。当你有机会时检查它 – NickTheInventor
是从数据获取数据库?如果是,那么你可以使用django ORM。看看这个https://docs.djangoproject.com/en/1.11/ref/models/querysets/#django.db.models.query.QuerySet.order_by – Kaushal