Pagination - 페이지 단위로 자르기
pagination 처리 과정
1. 무슨 객체를, 한 페이지 당 몇 개씩 Pagination시킬 것인지 결정 -> Paginator(object, num)
2. 원하는 페이지 갖고 오기 -> 페이지네이터객체.get_page(갖고오고싶은 페이지번호)
3. 갖고 온 페이지 html에 띄우기 -> 페이지객체의 메소드함수 + 템플릿언어
cf. Paginator Class vs Page Class
Paginator Class : 자른 페이지들의 뭉텅이 ex. 1~3번 페이지
Page Class : 자른 페이지들 중 하나의 페이지 ex. 3번 페이지
최종 목적은 Page 객체를 얻는 것
cf. Page 객체의 메소드 함수
함수 |
뜻 |
page.count() |
총 객체 수(총 블로그 글 개수) |
page.num_pages() |
총 페이지 개수 |
page.page(n) |
n번째 페이지 리턴 |
page.page_range() |
(1부터 시작하는)페이지 리스트 반환 |
page.get_page(n) |
n번째 페이지 갖고 오기 |
page.has_next() |
다음 페이지 있으면 True, 없으면 False |
page.has_previous() |
이전 페이지 있으면 True, 없으면 False |
page.previous_page_number() |
이전 페이지 번호 반환 |
cf. request받은 페이지 번호는 어떻게 알까?
page=request.GET.get('page') # page를 key값으로 하는 value(페이지번호)를 반환하여, page변수에 담아라
.get : (딕셔너리형에 대해) key값을 인자로 주면 value 반환
request.GET은 딕셔너리 자료형, 'page'는 key!
cf. 페이지를 실제로 갖고오기
paginator.get_page(page)
page변수 = request받은 페이지 번호
get_page = 그 페이지 번호를 갖고오기
1. views.py
from django.core.paginator import Paginator
2. show.html
'Server > django' 카테고리의 다른 글
[Django] 장고 기초 - Form (0) | 2019.12.30 |
---|---|
[Django] 장고 기초 - Faker (0) | 2019.12.30 |
[Django] 장고 기초 - 회원가입, 로그인, 로그아웃 (0) | 2019.12.29 |
[Django] 장고 기초 - 템플릿 상속 및 url 관리 (0) | 2019.12.29 |
[Django] 장고 기초 - portfolio (static & media) (0) | 2019.12.29 |