from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger def current(request): profile = Knowledge.objects.all() paginator = Paginator(profile, 1) page = request.GET.get('page') try: contacts = paginator.page(page) except PageNotAnInteger: contacts = paginator.page(1) except EmptyPage: contacts = paginator.page(paginator.num_pages) return render_to_response('index.html',{'text':contacts})
index.html
... <div class="pagination"> <ul> {% if text.has_previous %} <li><a href="?page={{ text.previous_page_number }}">«</a></li> {% else %} <li class="disabled"><a href="#">«</a></li> {% endif %} {% for num in text.paginator.page_range %} {% ifequal num text.number %} <li class="active"><a href="#">{{ num }}<span class="sr-only">(current)</span></a></li> {% else %} <li><a href="?page={{ num }}">{{ num }}</a></li> {% endifequal %} {% endfor %} {% if text.has_next %} <li><a href="?page={{ text.next_page_number }}">»</a></li> {% else %} <li class="disabled"><a href="#">»</a></li> {% endif %} </ul> </div>
Например:
1 2 3 … 44 45 46 … 100