在我的模板中,我需要打印一些项目并在每个项目后添加“,”,除非它是最后一项。
这是我的代码:
<li>
<strong>Category</strong>:
{% spaceless %}
{% for t in project.technology.all %}
{{ t.title }}
{% if not forloop.last %},{% endif %}
{% endfor %}
{% endspaceless %}
</li>
虽然它有效,但它在每个项目和“,”之间添加了额外的空格,所以我看到的是这样的:
Tech1 , Tech2 , Tech3
虽然应该是Tech1, Tech2, Tech3
甚至
spaceless
模板标签也不起作用。
{% spaceless %}
[Django-doc] 的文档所述:
仅删除标签之间的空格 – 不删除标签和文本之间的空格。
因此,这只是标签之间的空格,而不是标签与文本、文本与文本等之间的空格。
您可以使用以下方式渲染:
<li>
<strong>Category</strong>:
{% for t in project.technology.all %}
{{ t.title }}{% if not forloop.last %}, {% endif %}
{% endfor %}
</li>
因此,我们不会在
{{ t.title }}
和逗号之间渲染空格,因为这些都是不输出任何内容的模板标签。