Django 템플릿에 목록이 있습니다. 목록의 크기가 0보다 큰 경우에만 무언가를하고 싶습니다.
나는 시도 myList|length
하고 myList|length_is
있지만 성공하지 않았습니다.
나는 모든 곳을 수색했지만 어떤 예도 보이지 않습니다. 이것을 어떻게 확인할 수 있습니까?
Django 템플릿에 목록이 있습니다. 목록의 크기가 0보다 큰 경우에만 무언가를하고 싶습니다.
나는 시도 myList|length
하고 myList|length_is
있지만 성공하지 않았습니다.
나는 모든 곳을 수색했지만 어떤 예도 보이지 않습니다. 이것을 어떻게 확인할 수 있습니까?
답변:
참조 https://docs.djangoproject.com/en/stable/ref/templates/builtins/#if을 : 단지 사용을, 자신의 예를 재현 :
{% if athlete_list %}
Number of athletes: {{ athlete_list|length }}
{% else %}
No athletes.
{% endif %}
length
필터는 조건 블록에서 작동하는 것 같다. 예{% if athlete_list|length > 1 %}...{% endif %}
최근 장고를 사용하는 경우 changelist 9530 은 {% empty %} 블록을 도입하여
{% for athlete in athlete_list %}
...
{% empty %}
No athletes
{% endfor %}
당신이하고 싶은 일이 비어 있지 않은 목록을 반복 할 때 유용합니다.
수집 횟수 대괄호
{% if request.user.is_authenticated %}
{{wishlists.count}}
{% else %}0{% endif %}
테이블을 렌더링해야하는지 여부를 결정하려면 컬렉션 길이가 필요합니다. <thead></thead>
그러나 @Django 2.1.7 이 선택한 답변이 forloop
나중에 실패하는 이유를 모릅니다 .
나는 {% if forloop.first %} {% endif %}
극복하기 위해 사용해야 했다 :
<table>
{% for record in service_list %}
{% if forloop.first %}
<thead>
<tr>
<th>日期</th>
</tr>
</thead>
{% endif %}
<tbody>
<tr>
<td>{{ record.date }}</td>
</tr>
{% endfor %}
</tbody>
</table>