본문 바로가기

Web/Django

[Django] Rest Framework란, serializer, view 등

장고 Rest 프레임워크는 웹 API를 구축하기 위한 강력하고 유연한 도구이다.

 

Serializers

시리얼라이저를 사용하면 querysets나 모델 인스턴스와 같은 복잡한 데이터를 기본 파이썬 데이터 유형으로 변환한 다음 JSON, XML 또는 다른 콘텐츠 유형으로 쉽게 렌더링할 수 있다. 시리얼라이저는 또한 병렬화를 제공하여 들어오는 데이터를 먼저 확인한 후 구문 분석된 데이터를 복잡한 유형으로 다시 변환할 수 있다.

 

Queryset?

쿼리셋은 전달받은 모델의 객체 목록으로 데이터베이스로부터 데이터를 읽고, 필터를 걸거나 정렬을 할 수 있다. 

 

ModelSerializer

: 장고 모델 정의에 밀접하게 매핑되는 시리얼라이저 클래스

class AccountSerializer(serializers.ModelSerializer):
    class Meta:
        model = Account
        fields = ['id', 'account_name', 'users', 'created'] //포함할 필드 지정
        또는
        fields = '__all__' //모든 필드 포함

 

Generic views

클래스 기반 뷰의 주요 장점은 재사용가능한 행동을 구성할 수 있는 바식이다. REST framework는 일반적으로 사용되는 패턴을 제공하는 많은 사전 구축된 뷰를 제공함으로써 이를 활용한다. 

REST framework에서 제공되는 generic views를 이용하면 데이터베이스 모델에 밀접하게 매핑되는 API views를 빠르게 구축할 수 있다.