[django] Django 템플릿 내에서 컬렉션의 크기를 어떻게 확인할 수 있습니까?
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 %}
답변
최근 장고를 사용하는 경우 changelist 9530 은 {% empty %} 블록을 도입하여
{% for athlete in athlete_list %}
...
{% empty %}
No athletes
{% endfor %}
당신이하고 싶은 일이 비어 있지 않은 목록을 반복 할 때 유용합니다.
답변
목록에 False
요소가 없으면 다음과 같이 할 수 있습니다.
{% if mylist %}
<p>I have a list!</p>
{% else %}
<p>I don't have a list!</p>
{% endif %}
답변
myList | length 및 myList | length_is를 시도했지만 원하는 결과를 얻지 못하면 myList.count
답변
당신은 시도 할 수 있습니다 :
{% if theList.object_list.count > 0 %}
blah, blah...
{% else %}
blah, blah....
{% endif %}
답변
수집 횟수 대괄호
{% 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>