Пример #1
0
def paginate(request, qs, url=None):
    try:
        limit = int(request.GET.get('limit', 5))
    except ValueError:
        limit = 5
    if limit > 100:
        limit = 5
    try:
        page = int(request.GET.get('page', 1))
    except ValueError:
        raise Http404
    paginator = Paginator(qs, limit)
    try:
        page = paginator.page(page)
    except EmptyPage:
        page = paginator.page(paginator.num_pages)

    if url == 'hot':
        paginator.baseurl = '/hot/?page='
    elif url == 'new':
        paginator.baseurl = '/new/?page='
    else:
        paginator.baseurl = '/?page='
    paginator.startdiv = page.number - 2
    paginator.enddiv = page.number + 2
    return page