Ошибка EmptyPage на последней странице страничного сайта Wagtail

Я искал на сайте, и ни один из ответов не отличается от того, что я пробовал: Example | Example | Example | Example

Моя цель - отобразить 5 постов на каждой странице на моем сайте Wagtail. Это работает, за исключением того, что я получаю постоянную ошибку EmptyPage на последней странице. В настоящее время у меня 25 живых постов, поэтому на каждой из 5 страниц должно быть ровно 5. Только страница 5 (в настоящее время последняя) оказывается пустой.

Я почти уверен, что проблема в шаблоне, а не в самом queryset/model, но все, что я видел в Интернете, выглядит идентично тому, что у меня есть.

Вот моя модель:

class BlogIndexPage(Page):

    body = RichTextField(blank=True)

    def get_context(self, request, *args, **kwargs):
        context = super().get_context(request, *args, **kwargs)
        blog_pages = BlogPage.objects.live().public().order_by("-date")
        page = request.GET.get("page")
        paginator = Paginator(blog_pages, 5)

        try:
            blog_pages = paginator.page(page)
        except PageNotAnInteger:
            blog_pages = paginator.page(1)
        except EmptyPage:
            blog_pages = paginator.page(paginator.num_pages)


        context["blog_pages"] = blog_pages
        return context

Вот мой шаблон:

{% 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>&laquo;</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={{ blog_pages.next_page_number }}" 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>&raquo;</span>
       </a>
     </li>
   {% endif %}

{% 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={{ blog_pages.next_page_number }}" class="page-link">
        {{ page_num }}
      </a>
   </li>
{% endfor %}

?page={{ blog_pages.next_page_number }} должно быть ?page={{ page_num }}.

Вернуться на верх