Django - Grouping with rowspan and regroup in Django

regroup 기능을 이용해서 장고 템플릿에서 그룹별로 데이터를 출력하도록 쓰고 있는데, 이놈의 html이란 테이블에서 그룹별로 줄을 하나로 보이게 묶으려니깐 rowspan 이런거 써야 한다. 

 

잘 정리된 글이 있어 일단 참조

https://stackoverflow.com/questions/25998557/grouping-with-rowspan-and-regroup-in-django

 

Grouping with rowspan and regroup in Django

I have a many to one relationship in Django: Model A and model B. I need to output a table where the objects are ordered and grouped by names Name Amount ====================== A name ...

stackoverflow.com

일단 정답은 아래와 같고, 

ifchanged 라는 구문이 있고

group.list|length 라는 구문을 통해

rowspan 값을 구할 수도 있고

<table>
  <thead><tr><th>Name</th><th>Amount</th></tr></thead>
  <tbody>
  {% regroup object_list by name as grouped %}
  {% for group in grouped %}
  {% for obj in group.list %}
    <tr>
      {% ifchanged %}<td rowspan="{{ group.list|length }}">{{ obj.name }}</td>{% endifchanged %}
      <td>{{ obj.amount }}</td>
    </tr>
  {% endfor %}
  {% endfor %}
  </tbody>
</table>

동작을 잘하니 위 코드를 참고해서 구성하시길

 

경치좋은 곳의 테이블 이런 테이블을 봐야하는데

Artem Beliaikin 님의 사진, 출처: Pexels