본문으로 바로가기

pagination

category Django, Flask/🔫 Django REST framework (DRF) 2020. 6. 16. 19:28

https://www.django-rest-framework.org/api-guide/pagination/#pagination

 

Pagination - Django REST framework

pagination.py Django provides a few classes that help you manage paginated data – that is, data that’s split across several pages, with “Previous/Next” links. — Django documentation REST framework includes support for customizable pagination styl

www.django-rest-framework.org

 

Setting the pagination style

 

The pagination style may be set globally, using the DEFAULT_PAGINATION_CLASS and PAGE_SIZE setting keys. For example, to use the built-in limit/offset pagination, you would do something like this:

 

# config/settings.py

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
    'PAGE_SIZE': 100
}

 

작성하는 즉시 pagination이 생긴 것을 확인할 수 있다. (이 설정은 globally 하게 적용됩니다)

 

LimitOffsetPagination을 사용하고, page size를 100으로 설정했다. (100개가 1 페이지)

 

 

정보도, count, next(설정한 page size에 따라 limit, offset 결정)와 previous가 존재하고, 정보는 results에 담긴 것을 확인할 수 있다.

 

 

Setting the pagination style

 

현재 세팅을 보면 LimitOffsetPagination을 사용하고 있다. 다른 pagination도 존재한다.

(https://www.django-rest-framework.org/api-guide/pagination/#pagination)

 

문서를 보면 PageNumberPagination, CursorPagination도 존재하고, pagination을 커스터마이징할 수도 있나보다.

 

REST_FRAMEWORK = {
    "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.PageNumberPagination",
    "PAGE_SIZE": 10,
}

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체