【发布时间】:2021-10-09 13:56:48
【问题描述】:
我在确定 django 的分页时遇到问题。如果我在第一页或最后一页,按照文档一切正常,但我有代码重复。我尝试过的所有事情最终都会遇到某种异常,主要是空页异常。我知道这是因为我的解决方案不涉及检查 page_obj.has_previous 还是 .has_next。我不知道如何解决这个问题,任何帮助将不胜感激。我将附上屏幕截图,以便您了解我的意思。
分页:
<div class="pagination justify-content-center pt-3">
<nav aria-label='pagination'>
<ul class="pagination step-links">
{% if page_obj.has_previous %}
<li class="page-item">
<a class="page-link" href="?page={{ page_obj.previous_page_number }}" aria-label='Previous'>
<span aria-hidden='true'>«</span>
</a>
</li>
<li class="page-item">
<a class='page-link'>
{{ page_obj.number }} of {{ page_obj.paginator.num_pages }}
</a>
</li>
{% endif %}
{% if page_obj.has_next %}
<li class="page-item">
<a class='page-link'>
{{ page_obj.number }} of {{ page_obj.paginator.num_pages }}
</a>
</li>
<li class="page-item">
<a class="page-link" href="?page={{ page_obj.next_page_number }}" aria-label='Next'>
<span aria-hidden='true'> » </span>
</a>
</li>
{% endif %}
</ul>
</nav>
</div>
如您所见,“2 of 3”被重复了。我明白为什么它会在我的代码中重复,但是如果我删除其中一个列表项,那么{{ page_obj.number }} of {{ page_obj.paginator.num_pages }} 将不会显示在第一页或最后一页上。解决这个问题的最佳方法是什么?我自己也想不通
【问题讨论】:
标签: django pagination