Django의 페이지 나누기 디스플레이 기능

1826 단어
페이지 나누기 기능은django의 모듈로 직접 가져올 수 있습니다.
from django.core.paginator import Paginator

주요한 방법 함수는 페이지입니다. 실례화된paginator를 통해 사용할 수 있습니다.페이지 (i) 는 i페이지로 돌아가는 페이지 대상을 지정하지만, i가 지정한 내용이 틀리면 오류가 발생합니다.
이외에도 Paginator에는 no 가 있습니다.pages,page_range 속성, 각각 모든 페이지 수를 표시하고, 페이지 번호 교체기를 생성합니다.
페이지() 메소드 함수에서 반환되는 페이지 객체에는 다음과 같은 일반적인 메소드 함수가 있습니다.
has_next()
has_previous()
has_other_pages()
next_page_number()
previous_page_number()

다음은 예:views.py:
from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger

def index(request):
        all_polls = models.Poll.objects.all().order_by('-created_at')
        paginator = Paginator(all_polls,5)
        p = request.GET.get('p')
        try:
                polls = paginator.page(p)
        except PageNotAnInteger:
                polls = paginator.page(1)
        except EmptyPage:
                polls = paginator.page(paginator.num_pages)
        template = get_template('index.html')
        request_context = RequestContext(request)
        request_context.push(locals())
        html = template.render(request_context)
        return HttpResponse(html)

index.html
    
{% if polls.has_previous %} {% endif %} {% if polls.has_next %} {% endif %}

좋은 웹페이지 즐겨찾기