DEFAULT_ORPHANS = getattr(settings, 'PAGINATION_DEFAULT_ORPHANS', 0)
INVALID_PAGE_RAISES_404 = getattr(settings,
'PAGINATION_INVALID_PAGE_RAISES_404', False)
+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):
"""
A dictionary of all of the **GET** parameters in the current request.
This is useful to maintain certain types of state, even when requesting
a different page.
- """
+
+ ``pagination_template``
+ A custom template to include in place of the default ``pagination.html``
+ contents.
+
+ """
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
+ if records['last'] + paginator.orphans >= paginator.count:
+ records['last'] = paginator.count
# First and last are simply the first *n* pages and the last *n* pages,
# where *n* is the current window size.
first = set(page_range[:window])
'paginator': paginator,
'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()