Django pagination function
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
def get_pagination(request, queryset, items):
'''
items: The number for pagination
return tuple (total_pages, paginated queryset)
'''
paginator = Paginator(queryset, items)
page = request.GET.get('page')
try:
items_page = paginator.page(page)
except PageNotAnInteger:
items_page = paginator.page(1)
except EmptyPage:
items_page = paginator.page(paginator.num_pages)
return (paginator.num_pages, items_page)
|