<ul>
{% for bm in user.bookmarks %}
<li>
<a href="{{ bm.url }}">{{ bm.description }}</a>
</li>
{% else %}
<li>This user has not added any bookmarks yet.</li>
{% endfor %}
</ul>
有没有办法从循环内部设置条件 我的意思是如果'for loop'没有任何结果,ul标签不会生成页面
整个想法是阻止在页面中放置空标签 我知道我可以把另外一个表达式放在外面但是维护这么复杂
答案 0 :(得分:1)
您可以将ul
标记放在循环中,并使用loop.first
和loop.last
变量来控制它们。
{% for bm in user.bookmarks %}
{% if loop.first %}
<ul>
{% endif %}
<li>
<a href="{{ bm.url }}">{{ bm.description }}</a>
</li>
{% if loop.last %}
</ul>
{% endif %}
{% else %}
This user has not added any bookmarks yet.
{% endfor %}
答案 1 :(得分:0)
{% if user.bookmarks %}
<ul>
{% for bm in user.bookmarks %}
<li>
<a href="{{ bm.url }}">{{ bm.description }}</a>
</li>
{% else %}
<li>This user has not added any bookmarks yet.</li>
{% endfor %}
</ul>
{% enfif %}