Jinja2 获取排序列表中的第一项

Jinja2 Get the first item in a sorted list

我目前正在使用 Jinja2 在我的网页上显示评论(从数据库中获取),我偶然发现了 sort() 过滤器。所以我写了一些代码来按最低评分对评论进行排序。

{% for reviews in reviews.all()|sort(attribute='rating', reverse=false) %}
    {{ reviews.text }}
    {{ reviews.rating }}
{% endfor %}

上面的代码有效,但现在我想从列表中获取第一个排序的项目(reviews.text、reviews.rating)。我尝试使用:

{{ reviews.text[0] }}
{{ reviews.rating[0] }}

但这只是returns第一个字符。我也尝试使用 |first 过滤器,但这也不起作用。

抱歉,如果这看起来像一个愚蠢的问题 - 我仍然在掌握 Jinja2 - 但有什么方法可以从我的列表中挑选出第一个排序的项目吗?

好的,解决方案很简单(耐心等待):Jinja2 有一个 list of control structures,其中之一是 loop.first,可以在这种情况下使用。

{% for reviews in reviews.all()|sort(attribute='rating', reverse=false) %}
    {% if loop.first %}
       {{ reviews.text }}
       {{ reviews.rating }}
    {% endif %}
{% endfor %}