Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Jinja中分割排序列表?_Python_Jinja2 - Fatal编程技术网

Python 如何在Jinja中分割排序列表?

Python 如何在Jinja中分割排序列表?,python,jinja2,Python,Jinja2,我有一份字典清单。我想首先对列表进行排序,然后只迭代这些项的子集 这就是我所尝试的: {% for response in responses|sort(true, attribute='response_date')[:5] %} <p>response</p> {% endfor %} {%for response in response | sort(true,attribute='response_date')[:5]} 回应 {%endfor%} 但

我有一份字典清单。我想首先对列表进行排序,然后只迭代这些项的子集

这就是我所尝试的:

{% for response in responses|sort(true, attribute='response_date')[:5] %}
    <p>response</p>
{% endfor %}
{%for response in response | sort(true,attribute='response_date')[:5]}
回应

{%endfor%}
但是Jinja不喜欢这种语法,并引发了错误
TemplateSyntaxError:应为标记“语句块结束”,获得“[”


如果我不使用
sort()
过滤器,切片就可以工作。但我想同时使用这两个过滤器。

你不能简单地用括号将
响应| sort(true,attribute='response_date')
括起来吗

{% for response in (responses|sort(true, attribute='response_date'))[:5] %}
    <p>response</p>
{% endif %}
{%(responses | sort(true,attribute='response_date'))[:5]}中的响应百分比
回应

{%endif%}
您可以通过将
排序
括在括号中来实现这一点:

{% for response in (responses|sort(true, attribute='response_date'))[:5] %}
   <p>response</p>
{% endfor %}
{%(responses | sort(true,attribute='response_date'))[:5]}中的响应百分比
回应

{%endfor%}