如何在 Jinja 中对排序列表进行切片?
How to slice a sorted list in Jinja?
我有一个字典列表。我想先对该列表进行排序,然后只迭代这些项目的一个子集。
这是我试过的:
{% for response in responses|sort(true, attribute='response_date')[:5] %}
<p>response</p>
{% endfor %}
但 Jinja 不喜欢这种语法,并引发错误
TemplateSyntaxError: expected token 'end of statement block', got '['
如果我不使用 sort()
过滤器,则切片有效。但是我想两者一起使用。
你不能简单地将 responses|sort(true, attribute='response_date')
括起来吗?
{% for response in (responses|sort(true, attribute='response_date'))[:5] %}
<p>response</p>
{% endif %}
您可以通过将 sort
括在括号中来实现此目的:
{% for response in (responses|sort(true, attribute='response_date'))[:5] %}
<p>response</p>
{% endfor %}
我有一个字典列表。我想先对该列表进行排序,然后只迭代这些项目的一个子集。
这是我试过的:
{% for response in responses|sort(true, attribute='response_date')[:5] %}
<p>response</p>
{% endfor %}
但 Jinja 不喜欢这种语法,并引发错误
TemplateSyntaxError: expected token 'end of statement block', got '['
如果我不使用 sort()
过滤器,则切片有效。但是我想两者一起使用。
你不能简单地将 responses|sort(true, attribute='response_date')
括起来吗?
{% for response in (responses|sort(true, attribute='response_date'))[:5] %}
<p>response</p>
{% endif %}
您可以通过将 sort
括在括号中来实现此目的:
{% for response in (responses|sort(true, attribute='response_date'))[:5] %}
<p>response</p>
{% endfor %}