Pagination
Under the hood, all methods of pagination use the Paginator class. It does all the heavy lifting of actually splitting a QuerySet
into objects.
Give Paginator a list of objects, plus the number of items you’d like to have on each page, and it gives you methods for accessing the items for each page:
Note that you can give Paginator
a list/tuple, a Django QuerySet
, or any other object with a or __len__()
method. When determining the number of objects contained in the passed object, Paginator
will first try calling count()
, then fallback to using len()
if the passed object has no count()
method. This allows objects such as Django’s QuerySet
to use a more efficient method when available.
provides a builtin way to paginate the displayed list. You can do this by adding a paginate_by attribute to your view class, for example:
Here’s an example using in a view function to paginate a queryset:
In the template list.html
, you can include navigation between pages in the same way as in the template for the above.