Before we create any views to paginate our results, we can test most of the concepts in the Django shell. This will make it easier to see the various methods and properties instead of switching between views and templates.
First, let's import the model and retrieve a queryset:
>>> from mycompany.press.models import PressRelease >>> pl = PressRelease.objects.all() >>> len(pl) 52
We can import the Paginator
class, and pass it our queryset object and an argument of 10 records per page:
>>> from django.core.paginator import Paginator >>> p = Paginator(pl, 10)
Let's look at some of the properties of our Paginator
object. (The code comments are provided for explanation; you don't have to type them.)
>>> # per_page gives us the number of records per page >>> p.per_page 10 >>> >>> # num_pages gives us the number of pages of records >>> p.num_pages 6 >>> >>...