Answers:
请参阅https://docs.djangoproject.com/zh-CN/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>