期望的结果是一个看起来像这样的导航: 一个 |乙 |丙 | D |乙 | ... | × |是 | Z
请注意,A 和 Z 的外面都没有管道。
这是我目前的模板。
<section id="partners_nav">
<div class="row">
<table align="center" cellpadding="4px">
<tr>
{% for key, value in index.items %}
{% if key in index|last %}
{% if value == None %}
<td>{{ key }}</td>
<td id="partners_nav_bracket">|</td>
{% else %}
<td><a href="{{ value }}">{{ key }}</a></td>
<td id="partners_nav_bracket">|</td>
{% endif %}
{% else %}
{% if value == None %}
<td>{{ key }}</td>
<td id="partners_nav_bracket">|</td>
{% else %}
<td><a href="{{ value }}">{{ key }}</a></td>
<td id="partners_nav_bracket">|</td>
{% endif %}
{% endif %}
{% endfor %}
</tr>
</table>
</div>
行 {% if key in index|last %} 是我试图检查它是否是迭代中的最后一项的地方。
这不会产生任何错误。但不会删除字母 Z 右侧的管道。
注意: 索引内部是一个有序的字典,它有一个字母表中每个字母的键。而其中一些键的值也是一个字母(相同的字母)...这是使用 A |乙 | C 作为页面顶部导航的跳转。其余键的值为 None... 所以该字母仍显示在页面顶部但不可点击
请您参考如下方法:
您可能想查看 forloop.last模板变量。如果是最后一次循环,它返回 True:
{% for key, value in index.items %}
...
{% if value %}
<td><a href="{{ value }}">{{ key }}</a></td>
{% else %}
<td>{{ key }}</td>
{% endif %}
{% if not forloop.last %}
<td id="partners_nav_bracket">|</td>
{% endif %}
...
{% endfor %}
