|
@@ -8,6 +8,8 @@ from wagtail.wagtailcore import blocks
|
|
|
from wagtail.wagtailimages.edit_handlers import ImageChooserPanel
|
|
|
from wagtail.wagtailsearch import index
|
|
|
from wagtail.wagtailsnippets.models import register_snippet
|
|
|
+from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
|
|
+
|
|
|
|
|
|
|
|
|
@register_snippet
|
|
@@ -105,7 +107,24 @@ class BreadsIndexPage(Page):
|
|
|
|
|
|
def get_context(self, request):
|
|
|
context = super(BreadsIndexPage, self).get_context(request)
|
|
|
- context['breads'] = BreadPage.objects.descendant_of(
|
|
|
- self).live().order_by(
|
|
|
- '-first_published_at')
|
|
|
+
|
|
|
+ # Get the full unpaginated listing of resource pages as a queryset -
|
|
|
+ # replace this with your own query as appropriate
|
|
|
+ all_resources = self.get_children().live()
|
|
|
+
|
|
|
+ paginator = Paginator(all_resources, 5) # Show 5 resources per page
|
|
|
+
|
|
|
+ page = request.GET.get('page')
|
|
|
+ try:
|
|
|
+ resources = paginator.page(page)
|
|
|
+ except PageNotAnInteger:
|
|
|
+ # If page is not an integer, deliver first page.
|
|
|
+ resources = paginator.page(1)
|
|
|
+ except EmptyPage:
|
|
|
+ # If page is out of range (e.g. 9999), deliver last page of results.
|
|
|
+ resources = paginator.page(paginator.num_pages)
|
|
|
+
|
|
|
+ # make the variable 'resources' available on the template
|
|
|
+ context['resources'] = resources
|
|
|
+ context['paginator'] = paginator
|
|
|
return context
|