Skip to content

mvantellingen/django-rangepaginator

Repository files navigation

django-rangepaginator

This Django app provides a templatetag to render pagination widgets which include a range of pages around the current active one.

docs/_static/example.png?stop-caching-me

Status

https://travis-ci.org/mvantellingen/django-rangepaginator.svg?branch=master http://codecov.io/github/mvantellingen/django-rangepaginator/coverage.svg?branch=master

Installation

pip install django_rangepaginator

Update your Django settings:

INSTALLED_APPS += [
    'django_rangepaginator'
]

# Use bootstrap4 template
RANGE_PAGINATOR_TEMPLATE = 'django_rangepaginator/bootstrap3.html'

# Use bootstrap3 template (default)
RANGE_PAGINATOR_TEMPLATE = 'django_rangepaginator/bootstrap4.html'

Usage

{% load rangepaginator %}
{% paginate page request=request %}

The following options are available:

  • distance: number of pages around current active one (default = 2)
  • edge: number of pages at the start and end (default = 1)
  • extra_class: add extra css classes to the pagination div (default = '')
  • text_labels: use strings for previous/next instead of symbols (default = True)

Demo

A sandbox environment is available in the repository, run the following:

./sandbox/manage.py migrate
./sandbox/manage.py runserver

Bugs/features

Let me know! :-)