[Django] Paginator 사용법

happypath·2021년 12월 7일
0

Django

목록 보기
6/7

Django paginator 사용하기
아래 표는 코드잇 django 강의를 참고했다.

설명예시
{paginator}.countpaginator가 가지고 있는 데이터의 개수
{paginator}.num_pagespaginator가 가지고 있는 모든 페이지 수
{paginator}.page_rangepaginator가 가지고 있는 페이지의 범위(range)
{paginator}.page(1)paginator가 가지고 있는 페이지 중 num번째 페이지 객체
{page}.has_next()page객체가 다음 페이지가 있는지 여부
{page}.has_previous()page객체가 이전 페이지가 있는지 여부
{page}.has_other_pages()page객체가 다른 페이지를 가지고 있는지 여부
{page}.numberpage객체의 현재 페이지 번호
{page}.object_listpage객체가 가지고 있는 데이터 목록
{page}.paginatorpage객체의 Paginator
{page}.next_page_number()page객체의 다음 페이지 번호
{page}.previous_page_number()page객체의 이전 페이지 번호

  • 실제 코드 예시
# view.py
from django.core.paginator import Paginator


posts = Post.objects.all()
paginator = Paginator(posts, 6) #6개 포스트당 한 페이지 객체생성
cur_page_number = request.GET.get('page') #query string 접근
pages = paginator.page(cur_page_number) #해당하는 페이지 가져오기
# template.py

{% for post in pages.object_list %} #object_list로 받아오기

Django 공식문서 Pagination 바로가기

0개의 댓글