DRF에서 기본 지원하는 페이징 방식
PageNumberPagination : page , page_size 인자를 통한 페이징 처리
LimitOffsetPagination : offset, limit 인자를 통한 페이징 처리
PageNumberPagination
page_size 미지정 상황을 위해, 디폴트 지정이 필요
# settings.py
REST_FRAMEWORK = {
"PAGE_SIZE" : 10,
}
특정 APIView에서 page_size을 custom 하게 지정 ← PageNumberPagination 상속받아 page_size 설정
from rest_framework.pagination import PageNumberPagination
class MyPageNumberPagination(PageNumberPagination):
page_size = 10
class APIViewWithPage(APIView):
pagination_class = PageNumberPagination
LimitOffsetPagination
limit 미지정 상황을 위해, 디폴트 지정이 필요
# settings.py
REST_FRAMEWORK = {
"PAGE_SIZE" : 10,
}
특정 APIView에서 page_size을 custom 하게 지정 ← LimitOffsetPagination 상속받아 dafault_limit 설정
from rest_framework.pagination import LimitOffsetPagination
class MyLimitOffsetPagination(LimitOffsetPagination):
page_size = 10
class APIViewWithLimit(APIView):
pagination_class = LimitOffsetPagination
전역 설정 방법
# settings.py
REST_FRAMEWORK = {
"PAGE_SIZE" : 10,
"DEFAULT_PAGINATION_CLASS" : 'rest_framework.pagination.PageNumberPagination',
}