Python flaskui中的排序字典

Python flaskui中的排序字典,python,flask,jinja2,Python,Flask,Jinja2,我有一个flask服务器,它正在向前端发送字典。我正在尝试在UI中对词典的内容进行排序 下面是字典的结构 { 'Var1': { 'weight':1, 'other_stuff':'foo' }, 'Var2': { 'weight':0.5, 'other_stuff':'bar' }, 'Var3': { 'weig

我有一个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 %}
{%for key,d%中的var}
{{key}}

{%如果var['weight']>0.01或var['weight']为什么不将排序后的dict发送到前端..现在只需循环即可

这是怎么做的

   data = sorted(d.items(), key=lambda x: x[1]['weight'], reverse=True)

{% for key,var in d %}
   <table>
    <tr>
    <td>{{ key }}</td>
    <td>{{ var['weight'] }}</td>
  </tr>
</table>
{% endfor %}
data=sorted(d.items(),key=lambda x:x[1]['weight'],reverse=True)
{键为%d%,变量在d%}
{{key}}
{{var['weight']}
{%endfor%}

为什么不发送一个
命令dict
而应该在Jinja中迭代时保持顺序您可以将您的dict转换为dict列表(在内部字典中移动一个键)然后使用解决方案。天哪,如果你们想让它变得如此简单,一个有序的字典应该可以工作,当然。我甚至没有想到在后端解决它。就像我说的,我完全忘记了我可以在后端解决它,谢谢。
   data = sorted(d.items(), key=lambda x: x[1]['weight'], reverse=True)

{% for key,var in d %}
   <table>
    <tr>
    <td>{{ key }}</td>
    <td>{{ var['weight'] }}</td>
  </tr>
</table>
{% endfor %}