Djangoテンプレートにリストがあります。リストのサイズがゼロより大きい場合にのみ、何かをしたいのですが。
私が試してみましたmyList|length
し、myList|length_is
彼らは成功していません。
あちこち検索しましたが、例はありません。これを確認するにはどうすればよいですか?
Djangoテンプレートにリストがあります。リストのサイズがゼロより大きい場合にのみ、何かをしたいのですが。
私が試してみました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 %}
空にしていないリストを繰り返し処理する必要がある場合に役立ちます。
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>