프로그래밍

[DRF] Django REST Framework 본문

Python/Django REST Framework

[DRF] Django REST Framework

시케 2023. 11. 28. 13:09
728x90
반응형

2023.11.28.화

Django REST Framework

장고 REST Framework는 장고를 기반의 RESTful API를 쉽게 구축할 수 있도록 도와주는 확장 패키지이다

 

JSON이나 XML과 같은 형식으로 데이터를 주고 받는 데 특화되어 있으며

RESTful API의 다양한 기능들을 제공한다

Django VS Django REST Framework

구분 Django DRF
1) 파이썬 설치 O O
2) Django 설치 O O
3) Rest  Framework 설치 X O
4) virtualenv 설치 O O
5) Django 프로젝트 신규 O O
6) APP 신규 O O
7) settings.py에 앱추가 O O
8) models.py 수정 O O
9) Model 마이그레이션 O O
10) admin.py 수정 O O
11) views.py 수정 O O
12) serializer.py 생성 X O
13) urls.py 수정 O O
14) superuser생성 O O
15) Template 생성 O X

 

장고 VIEW에서는 HTTP 요청을 처리하고 HTTP 응답을 반환한다

 

DRF는 REST 기반으로 통신한다

DRF VIEW에서는 API 엔드포인트를 정의하고 데이터 검색 / 생성 / 업데이트 / 삭제 하는 법을 정의한다

 

API 엔드포인트는 REST API 방식에서 주로 쓰는 용어이며

장고에서는 URL 맵핑이라고 생각하면 된다

 

DRF 에서는 Template을 랜더하지 않는 만큼 다른 fronted를 끼워 사용하는 경우가 많다

이때 통신하는 방식이 REST 방식이라고 생각하면 쉽다

REST 방식

HTTP URL를 통해 자원을 명시하고 HTTP Method를 통해 해당 자원에 대한 CRUD를 적용하는 방식이다

 

여기서 자원은 JSON, XML, TEXT, RSS 등이 사용되며

해당 자원을 어떻게 할 것인지 의도를 함께 담아 보내는 방식이다

 

 

 

원래 자주 쓰였던 CRUD 방식에서 거의 비슷하다

해당 방식을 사용하면 같은 요청이어도 최소한 4개의 로직처리로 분리할 수 있다

이는 잘못된 요청을 할 확률을 줄일 수 있고

비슷한 기능끼리 묶어 응집도를 향상시킬 수 있다

 

Django REST Framework 주요 기능

장고 REST Framework는 웹 API 생성 및 관리를 단순화하는 다양한 구성 요소를 제공한다

 

  1. RESTful API 지원:
    • RESTful API를 쉽게 구축할 수 있도록 다양한 기능을 제공
  2. 시리얼라이저(Serializer):
    • JSON 또는 XML과 같은 형식의 데이터를 파이썬 객체로 변환하거나 반대로 변환하는 데 사용
  3. 인증과 권한:
    • 다양한 인증 방식과 권한 관리를 지원하여 API의 보안을 강화
  4. ViewSet과 Router:
    • ViewSet을 통해 뷰를 더 간단하게 정의하고, Router를 사용하여 URL 패턴을 자동으로 관리
  5. 쿼리셋(Queryset) 및 필터링:
    • 데이터베이스 쿼리를 간편하게 작성하고, 필터링을 통해 결과를 제한
  6. 파일 업로드 및 다운로드:
    • 파일 업로드와 다운로드를 쉽게 처리할 수 있는 기능을 제공

 

 

728x90
반응형

'Python > Django REST Framework' 카테고리의 다른 글

[DRF] status  (0) 2023.11.29
[DRF] Response  (0) 2023.11.29
[DRF] APIView와 api_view  (1) 2023.11.29
[DRF] Serialize(직렬화)  (1) 2023.11.28
[DRF] 페이지네이션(Pagination)  (2) 2023.11.28
Comments