我有一个Flask服务器正在将字典发送到前端。我正在尝试对UI中字典的内容进行排序。
这是字典的结构。
{
'Var1':
{
'weight':1,
'other_stuff':'foo'
},
'Var2':
{
'weight':0.5,
'other_stuff':'bar'
},
'Var3':
{
'weight':2,
'other_stuff':'baz'
},
...
}
我不需要排序的UI相关片段看起来像这样。请注意,这可以很好地工作,没有错误,但是它不是对数据进行排序。
{% for key,var in d %}
<tr>
<td>{{ key }}</td>
{% if var['weight']>0.01 or var['weight']<-0.01 %}
<td>{{ var['weight'] }}</td>
{% else %}
<td>0.01</td>
{% endif %}
</tr>
{% endfor %}
我要做的是在显示字典时对它进行排序,显然字典在python中没有按重量排序。所需的输出将是这样显示的数据:
<tr>
<td>Var3</td>
<td>2</td>
</tr>
<tr>
<td>Var1</td>
<td>1</td>
</tr>
<tr>
<td>Var2</td>
<td>0.5</td>
</tr>
我尝试使用do_dictsort过滤器,但是由于数据的组织方式,它给了我一个错误。如何在用户界面中对此排序?
答案 0 :(得分:1)
为什么不将排序的字典发送到前端。现在只需要循环即可。
这是方法
dotnet