View에서 전달받은 데이터를 Template에서 연속적으로 나열하는것이 일반적이라고 한다면,
전달받은 데이터를 군집에 따라 묶어서 나열해 주어야 될 때가 있을겁니다.
저의 경우 전달받은 '과일 판매 목록' 데이터에서 날짜가 중복되는 경우,
template상의 table에서 rowspan을 사용하기 위해 방법을 생각하던중 해당 방법을 적용시켰습니다.
우선 View에서
위 코드와 같이 특정 dic을 만들어 날짜에 해당하는 date의 유일값들을 구한 후,
dic에 유일날짜를 key로, 유일 날짜에 해당하는 목록들을 value값으로 넣어줬습니다.
이후 template에서 dic_name.itmes를 사용하게 되면,
각 value별로(위의 경우는 date) 묶인 목록들을 제어할 수 있게 됩니다.
rowspan을 사용하기 위하여 날짜별로 목록들을 묶었기 때문에,
length를 사용하여 군집별 길이를 값으로 넣어줬습니다.
이를 통해 기존의 왼쪽 이미지처럼 중복되어 나타나던 날짜와 요일을
오른쪽 과 같이 나타내어 줄 수 있었습니다.
모든 피드백은 항상 감사하게 소중하게 받겠습니다.
감사합니다.
출처
- dic 접근
'BACK-END > Django' 카테고리의 다른 글
[Django] Django에서 ajax 사용하기 (0) | 2021.10.19 |
---|---|
[Django] AttributeError: 'function' object has no attribute 'as_view' (0) | 2021.10.08 |
[Django] admin에서 저장한 시각과 db에 저장된 시간이 다를 때 (0) | 2021.10.08 |
[Django] django.core.exceptions.ImproperlyConfigured (0) | 2021.10.06 |