BACK-END/Django

[Django] Template에서 Dictionary 접근

이리53 2021. 7. 29. 21:33

View에서 전달받은 데이터를 Template에서 연속적으로 나열하는것이 일반적이라고 한다면,

 

전달받은 데이터를 군집에 따라 묶어서 나열해 주어야 될 때가 있을겁니다.

 

저의 경우 전달받은 '과일 판매 목록' 데이터에서 날짜가 중복되는 경우,

 

template상의 table에서 rowspan을 사용하기 위해 방법을 생각하던중 해당 방법을 적용시켰습니다.

 

우선 View에서 

 

위 코드와 같이 특정 dic을 만들어 날짜에 해당하는 date의 유일값들을 구한 후,

 

 dic에 유일날짜를 key로, 유일 날짜에 해당하는 목록들을 value값으로 넣어줬습니다.

 

 

이후 template에서 dic_name.itmes를 사용하게 되면,

 

각 value별로(위의 경우는 date) 묶인 목록들을 제어할 수 있게 됩니다.

 

rowspan을 사용하기 위하여 날짜별로 목록들을 묶었기 때문에,

 

length를 사용하여 군집별 길이를 값으로 넣어줬습니다.

 

 

이를 통해 기존의 왼쪽 이미지처럼 중복되어 나타나던 날짜와 요일을

 

오른쪽 과 같이 나타내어 줄 수 있었습니다.

 

 

 

 

 

 

 

 

 

모든 피드백은 항상 감사하게 소중하게 받겠습니다.

감사합니다.

 

출처

- dic 접근

- template에서 len사용