如何在Jinja2中对列表进行排序?

122

我正在尝试做这件事:

 {% for movie in movie_list | sort(movie.rating) %}

但这不对...文档写得太模糊了...你怎么在Jinja2中实现这个?

2个回答

219

谢谢,这正是我想要的。顺便问一下,它能同时适用于__getattr__和__getitem__这两种属性吗?(因为我记不清"movies"是对象还是字典了) - Nick Perkins
@Nick:我进行了快速测试,似乎可以同时使用对象和字典。 - Steve S
3
不错,这也适用于元组索引:list_of_tuples|sort(attribute='0') - Navin
1
在编程中,显示值的反向顺序可能很方便(例如对于评级),这种情况下只需使用选项 reverse=True 即可。 - Romain

46

如果您想按升序排序

{% for movie in movie_list|sort(attribute='rating') %}

如果你想要按降序排序

{% for movie in movie_list|sort(attribute='rating', reverse = True) %}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接