如何在Django模板中对列表实现降序排列?
Django 列表降序排列实现方法
有两种常见实现方案,更推荐在视图层完成排序逻辑:
方案1:修改视图代码(推荐)
Python列表的sort()方法默认是升序排列,只需添加reverse=True参数即可实现降序,修改后的视图代码如下:
unique_dates = list({a.date for a in attendances}) # 增加reverse=True参数开启降序 unique_dates.sort(reverse=True)
修改后模板代码不需要做任何调整,循环渲染出来的日期就是降序结果。
方案2:模板层处理(仅适合无法修改视图的场景)
如果不方便修改视图代码,可以直接在Django模板中使用dictsortreversed过滤器实现降序,修改后的模板代码如下:
{% for unique_date in unique_dates|dictsortreversed:"." %} <th>{{unique_date}}</th> {% endfor %}
其中过滤器参数.表示按列表元素本身的值进行倒序排列。
内容的提问来源于stack exchange,提问作者Path Parakh
相关产品推荐
相关产品推荐

