dictsort模板过滤器及双列过滤

7 投票
2 回答
3355 浏览
提问于 2025-04-17 15:06

现在在模板中,我使用的是这个:

{% for item in mydict|dictsortreversed:"column1" %}

但是我需要根据两个列来排序数据——在dictsort中有没有什么选项可以做到这一点?或者在模板中有没有其他方法可以实现这个?

2 个回答

0

怎么样试试这样的写法 -

{% for item in mydict|dictsortreversed %}
    {% if forloopcount|diviisbleby:"2" %}
            <td> item </td> 
        </tr>
    {% else %}
        <tr>
            <td> item </td>
    {% endif %}
{% endfor %}

可以看看 forloop计数器可被整除 这两个模板标签,获取更多的灵感。

15

正如你在Django的代码中看到的,Django并不支持这个功能。

不过,由于Python的排序是以一种稳定的方式进行的,所以我们可以通过排序两次来轻松实现这个功能 :)

{% for item in mydict|dictsortreversed:"column1"|dictsortreversed:"column2" %}

撰写回答