본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

Django Rest Framework5

[DRF] 공식 문서 요약(1) - Serializers 1. Serializers 1) Serializer란? - Queryset과 Model 인스턴스와 같은 복잡한 타입을 JSON, XML 등으로 쉽게 렌더링될 수 있는 고유의 파이썬 데이터 타입으로 변환해준다. 이를 직렬화라고 한다. - 파싱된 데이터를 Queryset과 Model 인스턴스와 같은 복잡한 타입으로 변환해주는 역직렬화도 지원한다. - DRF에서 제공하는 Serializer 클래스는 응답의 출력을 제어할 수 있는 강력하고 일반적인 방법을 제공한다. 또, Queryset과 Model 인스턴스들을 다루는 serializer인 ModelSerializer도 추가로 제공한다. 2) Serializer 선언하기 - Serializer 클래스를 상속받는 식으로 간단하게 만들 수 있다. 폼이나 모델과 유사.. 2023. 5. 7.
[DRF] BasePermission으로 커스텀 권한 만들기 BasePermission을 상속받아 커스텀 권한을 만들어서 IsAuthenticated, IsAdminUser 클래스처럼 사용할 수 있다. 먼저, BasePermission은 주석을 제외하면 다음과 같은 모습이다. has_permission(), has_object_permission() 메소드가 보이는데, 두 메소드가 항상 True를 반환하고 있다는 것은 기본적으로 모든 액세스를 허용한다는 뜻이다. class BasePermission(metaclass=BasePermissionMetaclass): def has_permission(self, request, view): return True def has_object_permission(self, request, view, obj): return T.. 2023. 3. 9.
[DRF] DRF 뷰의 발전 과정 1. DRF의 5가지 주요 기능 - DRF 뷰의 발전 과정을 살펴보기 전에 알아두면 좋을 것 같아서 추가한 내용이다. 1) list - 데이터 목록을 가져오는 기능 - 예) GET /snacks/ 2) create - 데이터 하나를 추가하는 기능 - 예) POST /snacks/ 3) retrieve - 데이터 하나를 가져오는 기능 - 예) GET /snack/1/ 4) update - 데이터 하나를 수정하는 기능 - 예) PUT /snack/1/ 5) destroy - 데이터 하나를 삭제하는 기능 - 예) DELETE /snack/1/ 2. DRF 믹스인 - DRF는 메소드마다 반복적이면서 공통적으로 작성해야 하는 코드들을 줄이기 위한 믹스인 클래스들을 제공한다. 예를 들어, 모델 데이터를 가져오는 코.. 2023. 2. 23.
[DRF] DRF Serializer 1. DRF Serializer가 필요한 이유 - DRF가 순수 텍스트를 반환하는 경우는 많이 없고, 일반적으로 Django의 모델 객체를 JSON으로 변환(직렬화)한 결과를 반환하게 된다. Django의 모델로부터 추출한 queryset 또는 모델 객체를 JSON 타입으로 변환해주기 위해서는 바로 DRF Serializer가 필요하다. - 반대로 클라이언트로부터 받은 JSON을 파이썬 객체로 변환하기 위해서는 역직렬화(deserialize) 과정도 필요한데, DRF Serializer는 역직렬화 기능도 동시에 갖고 있다. - 클라이언트와 서버 간 데이터 양식을 맞춰주는 변환기 역할을 하고 있다고 간단히 이해하면 될 것이다. 2. ModelSerializer - ModelSerializer는 Django.. 2023. 2. 21.
[DRF] Django REST Framework란 무엇일까? 1. DRF(Django REST Framework)란? - Django를 기반으로 REST API 서버를 만들기 위한 라이브러리 - Django는 자체적인 웹 템플릿에게 데이터를 전달해주고, DRF는 다양한 플랫폼의 클라이언트에게 데이터를 전달해준다는 주 목적에 차이가 있다. 그래서 풀스택 개발이 목적인 순수 Django와 달리 DRF는 백엔드 API 서버 개발을 위한 목적으로 사용되며, 순수 Django는 HTML을 응답하는 편이지만, DRF는 JSON을 응답하는 편이다. DRF 공식 문서 https://www.django-rest-framework.org/ Home - Django REST framework www.django-rest-framework.org CDRF - DRF의 주요 클래스들의 .. 2023. 2. 21.