在Flask UI中对字典进行排序

时间:2018-08-20 16:08:47

标签: python flask jinja2

我有一个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过滤器,但是由于数据的组织方式,它给了我一个错误。如何在用户界面中对此排序?

1 个答案:

答案 0 :(得分:1)

为什么不将排序的字典发送到前端。现在只需要循环即可。

这是方法

dotnet