DRF Pagination

2022. 7. 14. 18:32강의 정리/Django REST Framework

반응형

DRF에서 기본 지원하는 페이징 방식


PageNumberPagination

  • page/page_size 인자를 통한 페이징 처리

 

LimitOffsetPagination

  • offset/limit 인자를 통한 페이징 처리

 

 

PageNumberPagination


page_size 미지정 상황을 위해, 디폴트 지정이 필요

  • settings.py 내 REST_FRAMEWORK = {"PAGE_SIZE": 10} 를 통해 전역 설정
  • PageNumberPagination을 상속받아 page_size 설정

 

from rest_framework.pagination	import PageNumberPagination

class MyPageNumberPagination(PageNumberPagination):
    page_size = 10
    
# 특정 APIView에서 PageSize를 커스텀하고 싶다면 별도의 PageNumberPagination 클래스를 상속 받은 후 커스텀 지정 가능
class APIViewWithPage(APIView):
    pagination_class = PageNumberPagination

 

 

전역 설정


REST_FRAMEWORK	=	{
     'PAGE_SIZE': 10,
     'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
}
반응형