devjingood
2025. 3. 12. 01:08
2025. 3. 12. 01:08
Django
- 웹과 서버를 연결하는 강력한 프레임워크
- 주로 서버 사이드 렌더링 방식을 통해 HTML 페이지 반환
- 통신 방식
- HTTP 요청 수신:
- 클라이언트(주로 웹 브라우저)에서 HTTP 요청을 서버로 전송
- URL 라우팅:
- urls.py 파일을 통해 요청된 URL을 적절한 뷰(view) 함수나 클래스에 매핑
- 뷰 처리:
- 매핑된 뷰 함수가 요청을 처리.
- 뷰 함수는 데이터베이스와 상호작용하고, 템플릿 엔진을 사용하여 HTML을 렌더링
- 응답 반환:
- 뷰 함수는 HTML, JSON, XML 등 적절한 형식의 응답을 생성하여 클라이언트에 반환
- Django는 주로 서버 사이드 렌더링된 HTML 페이지를 반환
DRF
- RESTful API를 쉽게 구축할 수 있는 프레임워크
- 주로 JSON 형식의 데이터를 반환하여 RESTful API 개발에 특화
- 통신 방식
- HTTP 요청 수신:
- 클라이언트(주로 웹 애플리케이션 또는 모바일 앱)에서 HTTP 요청을 서버로 전송
- URL 라우팅:
- urls.py 파일을 통해 요청된 URL을 적절한 뷰셋(viewset)에 매핑
- DRF는 DefaultRouter를 사용하여 라우팅을 간편하게 설정할 수 있다.
- 뷰셋 처리:
- 매핑된 뷰셋이 요청을 처리
- 뷰셋은 데이터베이스와 상호작용하고, 시리얼라이저(serializer)를 사용하여
데이터를 JSON 또는 XML 형식으로 변환
- 응답 반환:
- 뷰셋은 JSON, XML 등 적절한 형식의 응답을 생성하여 클라이언트에 반환
- DRF는 주로 RESTful API의 특성에 맞춰 JSON 형식의 데이터를 반환
우리는 웹 뿐만 아니라 모바일 App에서 JSON 통신을 사용하기 위해 DRF 사용