Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django NextPage

django-nextpage is modified from django-pagination, but only previous and next page is provided.

Since SQL COUNT statement on large table has poor performance, lots of website turns to show just next and previous page link or button.

How it works?

django-nextpage only execute one SQL statement, no count, no next page determine query.

For example:

If you want to pagiante by 20, django-nextpage will query for 21 items, if queryset length is 21, then we have next page; if queryset length is 20 or less, then we don't have next page.

Installation

Requires Django 2.0 or later.

Add nextpage to INSTALLED_APPS, like:

INSTALLED_APPS = (
   # ...
   'nextpage',
)

and your TEMPLATES setting's context_processors should include django.template.context_processors.request, like:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                'django.template.context_processors.i18n',
                'django.template.context_processors.media',
                'django.template.context_processors.request',
            ],
        },
    },
]

Usage

Just like django-pagination, in fact it designed as a drop-in replacement. just load nextpage templatetag

{% load nextpage %}

{% autopaginate object_list 20 %}

{% paginate %}

or you can assign with different pagination template in templates/nextpage folder by

{% paginate "your_own_pagination.html" %}

or you can specify the path used to build the previous/next page urls, instead of using request.path

{% paginate path="/some/other/path/" %}

any extra keyword arguments passed to paginate are forwarded to the pagination template, so you can use them inside your own template

{% paginate foo="bar" %}
Bitdeli badge

About

Next page pagination for django

Resources

Stars

17 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages