Django template – list empty 처리

빈 리스트를 장고 템플릿에서 표현하는 방법은 아래 처럼 {% empty %} 구문을 활용하자!

    {% for item in itemlist %}    {% if item.is_deleted == 1 %}    {% else %}    {% now "Y-m-d" as todays_date %}    <tr class="align-middle">        <td class="white-space-nowrap ps-0">            <a href="{% url 'orderitem_view' pk=item.id %}">{{ item.id }}</a>        </td>        <td class="align-middle" >            <p class="mb-0">{{ item.product }}</p>        </td>        <td class="align-middle text-end" >            <p class="mb-0">{{ item.date_due | date:"m-d"}}</p>        </td>        <td class="align-middle text-end" >            <p class="mb-0">{{ item.quantity|intcomma }}</p>        </td>        <td class="align-middle text-end" >            <p class="mb-0">{{ item.workline }}</p>        </td>    {% endif %}    </tr>    {% empty %}    <tr class="align-middle">        <td colspan="5" class="align-middle text-center" >출고예정 주문이 없습니다.</td>    </tr>    {% endfor %}

코드에 편리한 게 하나 더 있네 😀 intcomma 도 활용하면 숫자에 콤마를 찍어줘서 읽기 편하게 해준다. 이건 다른 포스팅에서 참고하세요.

혹은 {% if %} 구문으로도 판단할 순 있다. 원본은 여기 https://docs.djangoproject.com/en/4.0/ref/templates/builtins/

{% if athlete_list %}    Number of athletes: {{ athlete_list|length }}{% else %}    No athletes.{% endif %}