Python 如何检查迭代的内容是否是dict中的最后一个键/值?(可能需要在django模板中完成)
理想的结果是一个如下所示的导航: A | B | C | D | E |……|X | Y | Z 请注意,A和Z的外侧都没有管道 这是我目前拥有的模板Python 如何检查迭代的内容是否是dict中的最后一个键/值?(可能需要在django模板中完成),python,django,python-2.7,python-3.x,Python,Django,Python 2.7,Python 3.x,理想的结果是一个如下所示的导航: A | B | C | D | E |……|X | Y | Z 请注意,A和Z的外侧都没有管道 这是我目前拥有的模板 <section id="partners_nav"> <div class="row"> <table align="center" cellpadding="4px"> <tr> {% for key, value in index.items %}
<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>
{键为%,索引中的值为%items%}
{如果索引中的键为%last%}
{%if value==None%}
{{key}}
|
{%else%}
|
{%endif%}
{%else%}
{%if value==None%}
{{key}}
|
{%else%}
|
{%endif%}
{%endif%}
{%endfor%}
行{%if索引中的键| last%}是我试图检查它是否是迭代中的最后一项的地方
这不会产生任何错误。但不会删除字母Z右侧的管道
注:
索引的内部是一个有序字典,字母表中的每个字母都有一个键。其中一些键的值也是一个字母(同一个字母)。。。这是使用A | B | C作为页面顶部导航的跳转。其余键的值为None。。。因此,字母仍显示在页面顶部,但不可单击您可能需要检查模板变量。如果是最后一次通过循环,则返回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 %}
{%用于键,index.items%中的值]
...
{%if值%}
{%else%}
{{key}}
{%endif%}
{%if不是forloop.last%}
|
{%endif%}
...
{%endfor%}
您可以使用forloop.first
或forloop.last
<div class="row">
<table align="center" cellpadding="4px">
<tr>
{% for key, value in index.items %}
{% if value == None %}
<td>{{ key }}</td>
{% else %}
<td><a href="{{ value }}">{{ key }}</a></td>
{% endif %}
{% if not forloop.last %}
<td id="partners_nav_bracket">|</td>
{% endif %}
{% endfor %}
</tr>
</table>
</div>
{键为%,索引中的值为%items%}
{%if value==None%}
{{key}}
{%else%}
{%endif%}
{%if不是forloop.last%}
|
{%endif%}
{%endfor%}
我还清理了你的标记,因为你的
if
和else
的内容是相同的。索引中有什么?可能{%if-forloop.first%}
和{%if-forloop.last%}
是否有帮助?@OzgurVatansever索引中有一个有序的字典,它对字母表中的每个字母都有一个键。其中一些键的值也是一个字母(同一个字母)。。。这是使用A | B | C作为页面顶部导航的跳转。其余键的值为None。。。因此,这封信仍然显示在页面顶部,但无法单击。感谢您的清理!现在,我们应该做些道德上正确的事情。接受你的答案,或者之前的其他人。你清理了标记,名声也变小了。