IT박스

Jinja2에서 목록을 어떻게 정렬합니까?

itboxs 2020. 10. 21. 07:48
반응형

Jinja2에서 목록을 어떻게 정렬합니까?


나는 이것을 시도하고있다 :

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

그러나 그것은 옳지 않습니다 ... 문서가 모호합니다 ... 진자 2에서 어떻게 이것을하나요?


버전 2.6부터 Jinja2의 내장 정렬 필터를 사용하면 정렬 기준으로 속성을 지정할 수 있습니다.

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

http://jinja.pocoo.org/docs/templates/#sort 참조


오름차순으로 정렬하려면

{% 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읽어보십시오 .

참고 URL : https://stackoverflow.com/questions/1959386/how-do-you-sort-a-list-in-jinja2

반응형