在Django模板中渲染有序反转字典值

时间:2018-03-01 11:17:17

标签: python django django-templates

Demo.html

我需要输出Coverage属性的排序值。

<table>
<tr >
            <th>Test Case</th>
            <th>File Name</th>
            <th>Coverage</th>
        </tr>
           {% for key, value in d.items %}
           <tr>
               <td>{{ key }}</td>
           </tr>

                   {% for k,v in value.items|dictsortreversed:"0.lower" %}
              <tr>
                        <td>   </td>
                       <td>{{ k }}</td>
                       <td>{{ v }}</td>
            </tr>
             {% endfor %}
           {% endfor %}

</table>

我需要根据Coverage属性对词典进行排序我尝试使用 dictsort:&#34; 0.lower&#34; 但是根据文件名属性进行排序如果我使用 dictsort:&#34; 1.lower&#34; 值不打印。我需要按值排序(Coverage)。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

在views.py中,导入运算符;在你的上下文字典而不是把原始字典,放入srtd。

import operator
original_dictionary = {}
srtd = sorted(original_dictionary.items(), key=operator.itemgetter(1))

最后在你的HTML中,你可以简单地做到

{% for key, value in srtd %}
{{k}}{{v}}