【问题标题】:dictsort template filter and filtering with two columnsdictsort 模板过滤器和过滤两列
【发布时间】:2013-01-23 02:21:36
【问题描述】:

现在我在模板中使用这个:

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

但我必须按两列对数据进行排序 - dictsort 中是否有任何选项可以做到这一点? 或者在模板中执行此操作的任何替代方法?

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    正如您在 Django code 中看到的,不支持此功能。

    但是,由于 Python 以 stable way 排序。这很容易通过两次排序来实现:)

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

    【讨论】:

    • 注意:按重要性升序排列 dictsort 过滤器 - 最后一个将是主要排序。
    【解决方案2】:

    这样的事情怎么样 -

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

    查看forloop counterdivisible by 模板标签以获得更多想法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-16
      • 2020-02-16
      • 2021-06-18
      • 2023-04-05
      • 2012-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多