[Django] Django과 DRF 개념-2025-03-27

정지은·2025년 3월 27일

나머지공부

목록 보기
10/17

💡 Django란?

Django는 파이썬으로 만든 웹 프레임워크
웹사이트를 빠르고 안전하게 만들 수 있게 도와주는 도구 모음

  • MTV(Model-Template-View) 아키텍처를 사용
  • 인증, 관리자 페이지, URL 라우팅, 폼 처리, 보안 등 다양한 기능을 기본 제공
  • 빠르게 웹 애플리케이션을 만들고 싶은 사람들에게 적합

예: 블로그, 커뮤니티, 쇼핑몰 등 다양한 웹 앱을 만들 때 많이 사용


💡 DRF(Django REST Framework)란?

DRF는 Django 위에서 작동하는 REST API 서버를 만들기 위한 확장 프레임워크

  • Django가 HTML 페이지를 렌더링해주는 데 초점을 맞췄다면,
  • DRF는 JSON 형태의 데이터를 주고받는 API 서버 만들기에 특화됨

주요 특징:

  • 직렬화(Serialization): 파이썬 객체 ↔ JSON 변환
  • API View / ViewSet으로 코드 구조화
  • 인증, 권한 부여, 페이징, 필터링 등 편리한 기능들 제공

예: 프론트엔드(React, Vue)랑 백엔드(DRF)가 분리된 SPA(Single Page App) 개발할 때 많이 사용


🔥 Django와 DRF의 차이점

구분DjangoDRF (Django REST Framework)
목적웹사이트(HTML 페이지) 렌더링 중심API 서버(JSON 응답) 구축 중심
출력 형태HTML, 템플릿 기반JSON, XML 등 데이터 중심
사용 대상웹 브라우저(PC/모바일 웹)프론트엔드(React, Vue)나 모바일 앱 등 클라이언트
핵심 구성 요소View, Template, Model (MTV 구조)APIView, Serializer, Model (RESTful 구조)
요청 처리 방식폼 제출(POST), URL로 라우팅RESTful 방식(GET, POST, PUT, DELETE 등)
프론트 역할Django가 직접 HTML 페이지까지 렌더링프론트가 UI를 담당, DRF는 데이터만 제공
인증/권한기본 User 모델 사용 가능Token, JWT 등 다양한 인증 방식 지원
적합한 예시게시판, 블로그, 전통적인 쇼핑몰앱 백엔드, SPA, 마이크로서비스 아키텍처 기반 시스템

✅ 요약

  • Django: 화면까지 서버가 다 처리해줄게! (전체 웹사이트)
  • DRF: 난 데이터만 줄게, 화면은 네가 만들어! (API 서버)

0개의 댓글