Ошибка 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>«</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>»</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 }}
.