Django

[Django] 페이징

기록하는_사람 2022. 12. 24. 15:50

페이징

📌 페이징

: 레코드들을 한 페이지 나눠 나타내기 어려울 때, 여러 페이지로 나눠 구현하는 것.

 

📌 Paginator 사용

from django.core.paginator import Paginator

 

📌 Paginator 사용 예시

from django.core.paginator import Paginator

def index(request):
     page = request.GET.get("page", 1)  # URL에 page로 전달되는 인자 받아옴.(없으면 1)
     b = Board.objects.all()  # 모든 레코드 가져옴.
     pag = Paginator(b, 10)  # 레코드를 10개씩 잘라주는 pag객체 생성.
     obj = pag.get_page(page)  # 해당 page를 obj에 담음.
     context = {
       "blist":obj  # obj 넘김.
     }
     return render(request,"....", context)

 

📌 페이지 활용

paginator.page_range(페이지 범위)  범위 설정
paginator.num_pages 페이지 수(마지막 페이지)
number 현제 페이지 번호
previous_page_number 이전 페이지 번호
next_page_number 다음 페이지 번호
has_previous 이전 페이지 유무
has_next 다음 페이지 유무
start_index 해당 페이지의 시작 인덱스
end_index 해당 페이지의 마지막 인덱스

 

템플릿 연산 - mathfilters

📌 템플릿 연산 - mathfilters

https://codingrecord2209.tistory.com/370

 

[Django] 템플릿 연산 - mathfilters

템플릿 연산 - mathfilters 📌 템플릿 연산 - mathfilters ① mathfilters 설치. pip install django-mathfilters ② config/settings의 INSTALLED_APPS에 등록. ... INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib

codingrecord2209.tistory.com

 

템플릿 실습

📌 템플릿 실습

https://codingrecord2209.tistory.com/371

 

[Django] 페이징 실습

준비 📌 이전에 만들었던 book 사용. 📌 페이징 확인을 위해 shell을 사용해 레코드 추가. ① shell 실행. python manage.py shell ② 레코드 추가. >>> from books.models import Books >>> for i in range(1, 101): ... n = f"{i}

codingrecord2209.tistory.com