웹개발 3

Django REST Framework: APIView, Generic View, ViewSet 차이점과 사용 예시

Django REST Framework(DRF)에서는 API를 구축하기 위해 다양한 방식의 뷰 클래스를 제공합니다. 그 중 대표적인 것이 APIView, Generic View(제네릭 뷰), 그리고 ViewSet입니다. 각 방식은 추상화 수준과 편의성이 다르며, 상황에 따라 알맞게 선택할 수 있습니다. 이번 포스트에서는 이 세 가지 뷰 클래스의 차이점과 사용 사례를 살펴보고, 코드 예시를 통해 언제 어떤 것을 사용하면 좋을지 설명합니다.APIView – 기본 클래스 기반 뷰APIView는 DRF에서 제공하는 가장 기본적인 클래스 기반 뷰(CBV)입니다. Django의 표준 View 클래스를 상속하여 만들어졌으며, REST API 개발에 필요한 다양한 기능(인증/권한, 요청 데이터 파싱, 예외 처리 등)을..

백엔드 18:42:27

Django와 DRF에서 Custom Middleware 사용법

Django 프로젝트에서 Middleware의 기본 구조와 동작 순서Django의 **Middleware(미들웨어)**는 요청(request)과 응답(response)의 처리 과정에 끼어들어, 전역적으로 동작하는 플러그인 계층이라고 볼 수 있습니다. 미들웨어들은 Django 설정의 MIDDLEWARE 리스트에 정의된 순서대로 동작하며, 각각이 양파 껍질처럼 뷰(view)를 감싸는 계층으로 생각할 수 있습니다. 요청이 들어오면 MIDDLEWARE에 나열된 순서(위에서 아래)대로 각 미들웨어가 **요청 처리(request phase)**에 참여하고, 뷰가 처리된 후에는 반대로 **응답 처리(response phase)**를 거치면서 미들웨어들이 역순(아래에서 위)으로 호출됩니다. 이러한 동작 방식 때문에, ..

백엔드 2025.05.16

Flask vs FastAPI vs Django: 파이썬 웹 프레임워크 비교

웹 개발을 처음 시작할 때 어떤 파이썬 웹 프레임워크를 선택해야 할지 고민될 수 있습니다. 파이썬에는 Flask, FastAPI, Django 같은 인기 있는 웹 프레임워크가 있으며 각각 특징과 장단점이 다릅니다. 이 글에서는 입문자의 눈높이에서 세 가지 프레임워크를 소개하고, 서로 어떻게 다른지 비교해보겠습니다. 마지막으로 상황별로 어떤 프레임워크를 선택하면 좋을지에 대한 가이드도 제시하겠습니다.Flask – 가벼운 마이크로 웹 프레임워크Flask(플라스크)는 파이썬의 마이크로 웹 프레임워크로, 필요한 최소한의 기능만 제공하는 경량 프레임워크입니다. 기본적으로 아주 단순한 구조를 지녀서 필요한 기능을 자유롭게 추가하며 웹 애플리케이션을 만들 수 있습니다. Flask 자체에는 데이터베이스나 관리자 화면 ..

백엔드 2025.05.13