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 %}
最近のDjangoを使用している場合、 changelist 95 は{%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 %}
Collection.countブラケットなし
{% if request.user.is_authenticated %}
{{wishlists.count}}
{% else %}0{% endif %}
テーブル<thead></thead>
をレンダリングする必要があるかどうかを判断するには、コレクションの長さが必要です。
しかし、理由はわからない@ Django 2.1.7選択された答えは失敗します(空)my 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>