Paginator Tag for 1.x

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# The tag

from django import template

register = template.Library()

@register.inclusion_tag('paginator.html', takes_context=True)
def paginator(context):
    return {
            'page_obj': context['page_obj'],
            'paginator': context['paginator'],
            'is_paginated': context['is_paginated'],
            'object_list': context['object_list'],
            }

# An example paginator.html

{% if is_paginated %}
<div class="pagination">
    <span>
        {% ifnotequal page_obj.first page_obj.number %}
        <b><a href="?page={{ page_obj.first }}">|&lt;</a></b>
        {% endifnotequal %}
        {% if page_obj.has_previous %}
        <b><a href="?page={{ page_obj.previous_page_number }}">&lt;</a></b>
        {% endif %}
        {% for p in page_obj.paginator.pages %}
        {% ifequal p page_obj %}
        <b class="selected">{{ page_obj }}</b>
        {% else %}
        <b><a href="?page={{ p.number }}">{{ p }}</a></b>
        {% endifequal %}
        {% endfor %}
        {% if page_obj.has_next %}
        <b><a href="?page={{ page_obj.next_page_number }}">&gt;</a></b>
        {% endif %}
        {% ifnotequal page_obj.last page_obj.number %}
        <b><a href="?page={{ page_obj.last }}">&gt;|</a></b>
        {% endifnotequal %}
    </span>
</div>
{% endif %}

More like this

  1. Filter to adjust forloop.counter across pages in a paginated view by egmanoj 4 years, 2 months ago
  2. Pagination shortcut by piratus 4 years, 2 months ago
  3. Paginator Tag by insin 6 years, 2 months ago
  4. Pagination Alphabetically compatible with paginator_class by vascop 1 year, 1 month ago
  5. Simple Paginator Function by goodsanket 3 years, 4 months ago

Comments

renatopedigoni (on March 25, 2009):

in order to run on 1.0 you must change this: {% for p in page_obj.paginator.pages %}

to {% for p in page_obj.paginator.page_range %}

#

(Forgotten your password?)