0
我知道这不是建议的,因为它应该在视图中完成,但我有一个场景,我需要在模板内进行筛选。Django筛选模板中的查询集
我有sitefiles_set,我在同一个模板中请求2或3次,并使用if语句在正确的位置显示正确的文件类型。 (所有显示的东西)
所以在我的特定文件类型的模板(张)以下,香港专业教育学院了拆分数据为表列,使其在页面更具可读性。然而,模板forloop计数器计算所有文件,而不仅仅是if中的文件,所以在实际显示中,我有5个链接显示在左侧栏中,然后是右侧8个链接。
,所以我需要过滤掉那些不是内阁的照片,而不是使用if。但我需要的模型相同,所以我可以在另一节中再次使用它来显示另一种类型。
感谢
<b>Cabinet Photos:</b><br/>
<table>
<tr>
<td>
<ul class="standard-list">
{% for file in Site.sitefiles_set.all %}
{% if file.file_type.type == 'Cabinet Photo' %}
<li>
<a href="{{ MEDIA_URL }}{{ file.site_image }}" data-lightbox="sitephotos" data-title="{{ file.file_name }}">
{{ file.file_name }}
</a>
</li>
{% if forloop.counter|divisibleby:"8" and file.file_type.type == 'Cabinet Photo' %}
</ul>
</td>
<td>
<ul class="standard-list">
{% endif %}
{% if forloop.counter|divisibleby:"16" and file.file_type.type == 'Cabinet Photo' %}
</ul>
</td>
</tr>
<tr>
<td>
<ul class="standard-list">
{% endif %}
{% endif %}
{% endfor %}
</ul>
</td>
</tr>
</table>
你应该使用模板标签,然后 –
@MosesKoledoye我如何做到这一点? – AlexW
使用带有|的模板标签过滤器 –