У мене є список у моєму шаблоні Джанго. Я хочу щось зробити, лише якщо розмір списку більше нуля.
Я спробував myList|length
і , myList|length_is
але вони не увінчалися успіхом.
Я шукав всюди і не бачу прикладів. Як я можу це перевірити?
У мене є список у моєму шаблоні Джанго. Я хочу щось зробити, лише якщо розмір списку більше нуля.
Я спробував 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 %}
Якщо ви використовуєте недавнє Django, список змін 9530 представив блок {% empty%}, що дозволяє писати
{% for athlete in athlete_list %}
...
{% empty %}
No athletes
{% endfor %}
Корисно, коли те, що ви хочете зробити, включає повторення над не порожнім списком.
Якщо ви спробували myList | length і myList | length_is, і його результат не отримав бажаних результатів, тоді вам слід скористатися myList.count
Collection.count немає дужки
{% 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>