나는 이것을 시도하고있다 :
{% for movie in movie_list | sort(movie.rating) %}
하지만 그건 옳지 않습니다 ... 문서가 모호합니다 ... 진자 2에서 어떻게 이걸하나요?
답변:
버전 2.6부터 Jinja2의 내장 정렬 필터를 사용하면 정렬 기준으로 속성을 지정할 수 있습니다.
{% for movie in movie_list|sort(attribute='rating') %}
list_of_tuples|sort(attribute='0')
reverse=True
.
오름차순으로 정렬하려면
{% for movie in movie_list|sort(attribute='rating') %}
내림차순으로 정렬하려면
{% for movie in movie_list|sort(attribute='rating', reverse = True) %}
보통 우리는 Jinja2에게주기 전에 목록을 정렬합니다. Jinja의 키를 지정할 수있는 방법은 없습니다.sort
필터에 .
그러나 항상 시도 할 수 있습니다. {% for movie in movie_list|sort %}
. 그것이 구문입니다. 정렬을 위해 어떤 종류의 주요 정보도 제공 할 수 없습니다.
이에 대한 사용자 지정 필터를 시도하고 작성할 수도 있습니다. Jinja2에 데이터를 제공하기 전에 정렬 할 수 있으면 어리석은 것 같습니다.
경우 movie_list
객체의 목록입니다, 당신은 다양한 비교 방법 (정의 할 수 있습니다 __lt__
, __gt__
그 객체의 클래스 등).
경우 movie_list
튜플 또는 목록의 목록입니다, 등급이 먼저 있어야합니다. 아니면 Jinja2 밖에서 정렬을해야합니다.
경우 movie_list
사전의 목록입니다, 당신은 사용할 수있는 dictsort
정렬의 주요 사양을 수용 않는다. http://jinja.pocoo.org/2/documentation/templates#dictsort 를 읽어보십시오 .