Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

Small package for creating a list of page links from a Django paginator object, similar in style to the Django admin - showing the start and end pages, but only showing a limited list of pages in the middle.

Installation

Using pip:

$ pip install django-paginationlinks

Edit your Django project’s settings module, and add paginationlinks:

INSTALLED_APPS = [
    # ...
    'paginationlinks',
]

Usage

Load the template tag:

{% load pagination_links %}

Typical usage, which shows 1 page on each end, and 1 on each side of the current page:

{% get_pagination_links paginator page_obj as pagination_links %}

However the number of pages on each side can be customised, as well as how many pages at the end - both are optional arguments:

{% get_pagination_links paginator page_obj on_each_side=1 on_ends=2 as pagination_links %}

A more fully featured example for a site:

{% load pagination_links %}

{% if page_obj.has_other_pages %}
    {% get_pagination_links paginator page_obj as pagination_links %}
    <ul>
        {% for page_num in pagination_links %}
            {% if page_num.is_current %}
                <li class="current">{{ page_num.number }}</li>
            {% elif page_num.is_filler %}
                <li class="filler">—</li>
            {% else %}
                <li><a href="?page={{ page_num.number }}">{{ page_num.number }}</a></li>
            {% endif %}
        {% endfor %}
    </ul>
{% endif %}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-paginationlinks-0.1.2.tar.gz (2.7 kB view details)

Uploaded Source

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page