본문 바로가기
파이썬 웹 개발

[Django] 화면(html 프론트)에서 파이썬 리스트 정렬하기

by 배추잠자리 2022. 3. 7.
반응형

백엔드(views.py) 부분에서 다양한 join으로 orm을 구성할 때

역참조 혹은 정참조를 해서 데이터를 가져오는 경우

또는 데이터를 조립해서 가져오는 경우 

 

HTML 화면에 넘겨줬을 때 정렬이 애매해지곤 합니다.

 

물론 필터를 거쳐서 정렬해주는 방법도 있고,

백단에서 직접 하나씩 정렬을 맞춰줄 수도 있지만,

되게 복잡하고 귀찮아지는 작업이 되죠.

 

# 그래서 화면에 {% for data in list %} 할 때 정렬을 할 수 있습니다.

 

■ 정렬 하기 전 소스코드

정렬 하기 전 소스코드

 

여기서 맨 마지막 부분은 타임스탬프 날짜를 'Y년 m월 d일' 로 변경할 수 있다.  [   |date:'Y년 m월 d일'  ]


{{ data.created_date|date:'Y년 m월 d일'}}

 

 

■ 화면 HTML에 파이썬 리스트 정렬하기

 

dictsort 적용 후 소스코드

 


{% for data in answer|dictsort:"created_date" %}

for문을 돌리기 위한 key값( data )은 빼주고 컬럼명만 사용하면 된다.

 

{% for data in answer|dictsort:"created_date" %}

# 사용 시 주의사항은 공백을 유의해야함. 이 형식대로 쓰지 않고 뒤에 띄어쓰기가 없다거나 하면 에러를 유발한다.

 

 

dictsort 적용 후

# 날짜형식, 정렬 전부 제대로 잘 되었다 !

 

■ dictsort 정렬을 반대로 하고 싶을때  dictsortreversed

 

{% for data in answer|dictsortreversed:"created_date" %}

dictsort 대신 dictsortreversed 으로 쓰면 반대로 정렬이 가능하다.

반응형

댓글