我将以下内容作为django模板的一部分:
<nav>
<ul class="pagination">
{% if page.has_previous %}
<li>
<a href="{% url 'main:stream_detail' stream_id=stream.id %}?p={{page.next_page_number}}" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
{% else %}
<li class="disabled" aria-label="previous"><span aria-hidden="true">«</span></li>
{% endif %}
{% for i in paginator.page_range %}
(% if i == page.number %}
<li class="active">{{i}} <span class="sr-only">(current)</span></li>
{% else %}
<li><a href="{% url 'main:stream_detail' stream_id=stream.id %}?p={{i}}">{{i}}</a></li>
{% endif %}
{% endfor %}
{% if page.has_next %}
<li>
<a href="{% url 'main:stream_detail' stream_id=stream.id %}?p={{page.next_page_number}}" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
{% else %}
<li class="disabled" aria-label="next"><span aria-hidden="true">»</span></li>
{% endif %}
</ul>
</nav>
我得到以下例外:
第26行的无效块标记:'else',预期'empty'或'endfor'。您是否忘记注册或加载此标记?
第26行对应{% else %}
循环内的{% for %}
子句。正如我所知道的,这个else子句正确匹配if语句,但模板解析器似乎期望一个子句匹配for循环。
答案 0 :(得分:1)
if
循环中的for
标记语法错误:
(% if
......应该是
{% if
答案 1 :(得分:1)
您在'('
'{'
代替(% if i == page.number %}