This Django app provides a templatetag to render pagination widgets which include a range of pages around the current active one.
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'
{% 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)
A sandbox environment is available in the repository, run the following:
./sandbox/manage.py migrate
./sandbox/manage.py runserver
Let me know! :-)