Wagtail站点分页最后一页返回EmptyPage错误问题求助
问题原因
你的模板页码循环部分存在笔误:循环渲染每个页码的跳转链接时,错误使用了blog_pages.next_page_number作为链接参数,而非当前循环的page_num变量。
当访问最后一页时,当前分页对象不存在下一页,调用next_page_number属性会直接触发EmptyPage异常,该错误发生在模板渲染阶段,和你写的后端分页逻辑无关。从你提供的报错栈也能验证这一点:最后触发错误的位置就是next_page_number方法内部的页码校验逻辑。
修复方案
将模板中页码循环部分的链接参数替换为循环变量page_num即可,修正后的模板代码如下:
{% if blog_pages.paginator.num_pages > 1 %} {% if blog_pages.has_previous %} <li class="page-item"> <a href="?page={{ blog_pages.previous_page_number }}" class="page-link"> <span>«</span> </a> </li> {% endif %} {% for page_num in blog_pages.paginator.page_range %} <li class="page-item {% if page_num == blog_pages.number %} active{% endif %}"> <a href="?page={{ page_num }}" class="page-link"> {{ page_num }} </a> </li> {% endfor %} {% if blog_pages.has_next %} <li class="page-item"> <a href="?page={{ blog_pages.next_page_number }}" class="page-link"> <span>»</span> </a> </li> {% endif %} {% endif %}
内容的提问来源于stack exchange,提问作者rehtam
相关产品推荐
相关产品推荐

