반응형
2021.04.03 - [프로그래밍/Django개발(MAC OS)] - [Django Rest Framework] 시작하기 Rest API 소개
2021.04.24 - [프로그래밍/Django개발(MAC OS)] - Django restframework 2. 설치하기
2021.04.24 - [프로그래밍/Django개발(MAC OS)] - Django restframework 3. APIView
이번에는 ListAPIView를 활용해보도록 하겠습니다.
ListAPIView는 GenericsView에서 제공하는 API입니다.
ListAPIView를 사용하면 더욱 편하게 List화면과 Pagenation을 구현할 수 있습니다.
사용방법
아주 간단합니다.
queryset객체를 가져오고
Serializer할 것들을 명시만 해주면 됩니다.
아래의 예시를 한번 보면 좋을 것 같습니다.
ListAPIView 사용하기
views.py
from rest_framework.generics import ListAPIView
from .models import Room
from .serializers import RoomSerializer
class ListRoomsView(ListAPIView):
queryset = Room.objects.all()
serializer_class = RoomSerializer
serializers.py
from rest_framework import serializers
from .models import Room
class RoomSerializer(serializers.ModelSerializer):
class Meta:
model = Room
fields = ("name","price","instant_book","user")
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('list/',views.ListRoomsView.as_view())
]
결과창
ListAPIView Pagination 기능 사용하기
pagination 기능을 사용하기 위해서는 Settings.py에 간단히 설정만 해주시면 됩니다.
settings.py
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 10
}
위에 처럼 설정하면
어떻게 바뀔까요? 아래와 같이 count가 들어가있고,
next,previous, Pagination 이 들어가있죠?
이제 다음에는 ListView가 아닌 하나의 값을 가져오는 걸 해보도록 하겠습니다.
반응형
'프로그래밍 > Django개발(MAC OS)' 카테고리의 다른 글
Django restframework 6. Create (0) | 2021.05.01 |
---|---|
Django restframework 5. RetrieveAPIView (0) | 2021.04.24 |
Django restframework 3. APIView (0) | 2021.04.24 |
Django restframework 2. 설치하기 (0) | 2021.04.24 |
Django restframework 1. 소개 (0) | 2021.04.03 |