Django Rest Framework - Tips, Tricks with luca_zack
1 minute read
2017/8/4 파이콘 자료를 번역한 것입니다.
Django rest Framework - Main Advantages
- 검색 가능한 인터페이스
- 우수한 문서
- 선호하는 view types : FBC, CBV 지원
- ORM 및 non-ORM 데이터 소스에 대한 간편한 serializer
- 인증과 권한 부여
- nagination과 filtering
- customizable
Django rest Framework - Main concepts
Request / Response
request.POST
—>request.data
PATCH
와PUT
POST
와FILES
데이터 포함- 수신 데이터의 자공 구분 분석
request.GET
—>request.query_params
- DRF 응답은 자동으로 응답을 요청된 콘텐츠 유형에 렌더링합니다.
Parsers / Renderers
- Parser 는 다양한 콘텐츠 유형의 요청을 수락과 디코딩하는데 사용됩니다.
Content-Type
헤더 확인JSON
,Form
,Multipart
,FileUpload
및 사용자 커스텀-
YAML
,XML
,JSONP
등 많은 third party packages를 사용할 수 있습니다. - Renderers 는 다양한 컨텐츠 유형의 응답을 반환하는데 사용됩니다.
- 렌더러는 요청 수락 헤더(Accept request header)를 기준으로 결정됩니다.
JSON
,static/rendered HTML
및 사용자 커스텀YAML
,XML
,JSONP
등 많은 third party packages를 사용할 수 있습니다.
Serializers
- 객체와 쿼리셋을 JSON/XML 또는 지원되는 다른 컨텐츠 유형으로 변환하는데 사용됩니다.
- 처음부터 선언할 수 있거나 모델에서 자동으로 생성될 수 있습니다.
- creation/update 전에 수신 데이터 확인
ModelSerializer
는 모델 필드와 사용자 정의 필드를 지원합니다.- 중첩된 serializer 허용
Views
- DRF
@api_view
데코레이터를 사용한 FBV - DRF APIView를 사용한 CBV
Viewsets
,GenericViewset
,ModelViewsets
Authentication, Permissions and Throttling
- 인증은 누가 요청을 하고 있는지 식별합니다.
- 권한이 식별된 사용자가 엑세스할 수 있는 리소스를 정의합니다.
Throttling
은 클라이언트가 할 수 있는 것보다 많은 요청을 정의합니다.
Pagination & Filtering
- 요청한 리소스를 개별 데이터 페이지로 분할하는 작업은 Pagination이 담당합니다.
- 필터링은 하나 이상의 기준에 따라 리소스를 제한합니다.
I feedback.
Let me know what you think of this article in the comment section below!
Let me know what you think of this article in the comment section below!
comments powered by Disqus