--- /dev/null
- <a href="?page={{ page_obj.previous_page_number }}{{ getvars }}{{ hashtag }}" class="prev">{{ previous_link_decorator|safe }}{% trans "previous" %}</a>
+ {% if is_paginated %}
+ {% load i18n %}
+ <div class="pagination">
+ {% block previouslink %}
+ {% if page_obj.has_previous %}
- <span class="disabled prev">{{ previous_link_decorator|safe }}{% trans "previous" %}</span>
++ <a href="?page{{ page_suffix }}={{ page_obj.previous_page_number }}{{ getvars }}{{ hashtag }}" class="prev">{{ previous_link_decorator|safe }}{% trans "previous" %}</a>
+ {% else %}
+ {% if display_disabled_previous_link %}
- {% endif %}
++ <span class="disabled prev">{{ previous_link_decorator|safe }}{% trans "previous" %}</span>
+ {% endif %}
- <a href="?page={{ page }}{{ getvars }}{{ hashtag }}" class="page">{{ page }}</a>
++ {% endif %}
+ {% endblock previouslink %}
+ {% block pagelinks %}
+ {% if display_page_links %}
+ {% for page in pages %}
+ {% if page %}
+ {% ifequal page page_obj.number %}
+ <span class="current page">{{ page }}</span>
+ {% else %}
- {% endfor %}
- {% endif %}
++ <a href="?page{{ page_suffix }}={{ page }}{{ getvars }}{{ hashtag }}" class="page">{{ page }}</a>
+ {% endifequal %}
+ {% else %}
+ ...
+ {% endif %}
- <a href="?page={{ page_obj.next_page_number }}{{ getvars }}{{ hashtag }}" class="next">{% trans "next" %}{{ next_link_decorator|safe }}</a>
++ {% endfor %}
++ {% endif %}
+ {% endblock pagelinks %}
+ {% block nextlink %}
+ {% if page_obj.has_next %}
- {% endif %}
++ <a href="?page{{ page_suffix }}={{ page_obj.next_page_number }}{{ getvars }}{{ hashtag }}" class="next">{% trans "next" %}{{ next_link_decorator|safe }}</a>
+ {% else %}
+ {% if display_disabled_next_link %}
+ <span class="disabled next">{% trans "next" %}{{ next_link_decorator|safe }}</span>
+ {% endif %}
-{% endif %}
++ {% endif %}
+ {% endblock nextlink %}
+ </div>
++{% endif %}
DEFAULT_ORPHANS = getattr(settings, 'PAGINATION_DEFAULT_ORPHANS', 0)
INVALID_PAGE_RAISES_404 = getattr(settings,
'PAGINATION_INVALID_PAGE_RAISES_404', False)
-DISPLAY_DISABLED_PREVIOUS_LINK = getattr(settings, 'PAGINATION_DISPLAY_DISABLED_PREVIOUS_LINK', True)
-DISPLAY_DISABLED_NEXT_LINK = getattr(settings, 'PAGINATION_DISPLAY_DISABLED_NEXT_LINK', True)
+ DISPLAY_PAGE_LINKS = getattr(settings, 'PAGINATION_DISPLAY_PAGE_LINKS', True)
+ PREVIOUS_LINK_DECORATOR = getattr(settings, 'PAGINATION_PREVIOUS_LINK_DECORATOR', "‹‹ ")
+ NEXT_LINK_DECORATOR = getattr(settings, 'PAGINATION_NEXT_LINK_DECORATOR', " ››")
++DISPLAY_DISABLED_PREVIOUS_LINK = getattr(settings, 'PAGINATION_DISPLAY_DISABLED_PREVIOUS_LINK', False)
++DISPLAY_DISABLED_NEXT_LINK = getattr(settings, 'PAGINATION_DISPLAY_DISABLED_NEXT_LINK', False)
def do_autopaginate(parser, token):
"""
try:
paginator = context['paginator']
page_obj = context['page_obj']
+ page_suffix = context.get('page_suffix', '')
page_range = paginator.page_range
+ pagination_template = context.get('pagination_template', 'pagination/default.html')
# Calculate the record range in the current page for display.
records = {'first': 1 + (page_obj.number - 1) * paginator.per_page}
records['last'] = records['first'] + paginator.per_page - 1
'paginator': paginator,
'hashtag': hashtag,
'is_paginated': paginator.count > paginator.per_page,
+ 'page_suffix': page_suffix,
+ 'display_page_links': DISPLAY_PAGE_LINKS,
+ 'display_disabled_previous_link': DISPLAY_DISABLED_PREVIOUS_LINK,
+ 'display_disabled_next_link': DISPLAY_DISABLED_NEXT_LINK,
+ 'previous_link_decorator': PREVIOUS_LINK_DECORATOR,
+ 'next_link_decorator': NEXT_LINK_DECORATOR,
+ 'pagination_template': pagination_template,
}
if 'request' in context:
getvars = context['request'].GET.copy()