z4none
3/22/2018 - 8:15 AM

django bootstrap3 pagination

django bootstrap3 pagination

<ul class="pagination">
    {% if page_obj.has_previous %}
        <li>
            <a href="?page={{ page_obj.previous_page_number }}">
                {% else %}
        <li class="disabled">
        <a href="#">
    {% endif %}
    <span>&laquo;</span>
    </a>
    </li>

    {% with active_page=page_obj.number %}
        {% for page_number in paginator.page_range %}
            {% if active_page > 4 and page_number < active_page|add:"-3" %}
                {% if page_number == 1 %}
                    <li {% if page_number == active_page %}class="active"{% endif %}>
                        <a href="?page={{ page_number }}">{{ page_number }}</a>
                    </li>
                {%  endif %}
            {% elif active_page > 4 and page_number == active_page|add:"-3" %}
                <li class="disabled">
                    <a href="#">...</a>
                </li>
            {% elif active_page < paginator.num_pages|add:"-4" and page_number > active_page|add:3 %}
                {% if page_number == paginator.num_pages %}
                    <li {% if page_number == active_page %}class="active"{% endif %}>
                        <a href="?page={{ page_number }}">{{ page_number }}</a>
                    </li>
                {%  endif %}
            {% elif active_page < paginator.num_pages|add:"-4" and page_number == active_page|add:3 %}
                {# show '...' #}
                <li class="disabled">
                    <a href="#">...</a>
                </li>
            {% else %}
                {# show the page number as normal #}
                <li {% if page_number == active_page %}class="active"{% endif %}>
                    <a href="?page={{ page_number }}">{{ page_number }}</a>
                </li>
            {% endif %}
        {% endfor %}
    {% endwith %}

    {% if page_obj.has_next %}
        <li>
            <a href="?page={{ page_obj.next_page_number }}">
                {% else %}
        <li class="disabled">
        <a href="?page=#">
    {% endif %}
    <span>&raquo;</span>
    </a>
    </li>
</ul>