
파이썬 웹 프레임워크에서 대표적으로 많이 사용되는 것은 Django와 Flask이다.
이 두 프레임워크는 주로 웹 서비스 전체를 만드는 데 초점이 맞춰져 있다.
FastAPI는 조금 다르다.
FastAPI는 “웹 페이지”가 아니라 “API”를 만드는 데 특화된 프레임워크이다.
요약
Django / Flask → 웹사이트 자체를 만드는 도구
FastAPI → 다른 서비스들이 사용할 데이터 제공 서버(API 서버)
왜 중요한가?
FastAPI로 만든 API는 다음과 같이 다양한 클라이언트에서 그대로 사용할 수 있다.
한 번 만들면 여러 곳에서 재사용 가능 !!
Django / Flask로 웹을 만들면:
중복 개발 발생 !!
API 하나만 만들면 끝
모든 클라이언트에서 공통 사용
-> 유지보수 훨씬 쉬움
FastAPI는 파이썬 웹 프레임워크 중에서도 매우 빠른 성능을 가진다.
Django → 순차 처리 (요청 하나씩 처리)
FastAPI → 동시에 처리 (여러 요청 병렬 처리)
그래서 Node.js, Go급 성능까지 나옴
FastAPI의 가장 큰 장점 중 하나는
-> API를 매우 빠르게 만들 수 있다
핵심 도구
입력값 검증 자동
타입 기반 데이터 정의
class User(BaseModel):
name: str
age: int
잘못된 데이터 자동으로 걸러줌
API 만들면 자동으로 문서 생성됨
테스트 가능
문서 따로 작성 필요 없음
예:
FastAPI는 ...
API 설계 → 바로 구현
검증 자동
문서 자동
개발 속도 엄청 빠름 !!
FastAPI는 Django처럼 내장 ORM이 없음
대신 SQLAlchemy (가장 많이 사용), Tortoise ORM 등을 사용
특징
자유도가 높음
대신 직접 설정 필요
Django보다 유연하지만 조금 더 설정 필요
FastAPI는 정해진 구조로 빠르게 API를 찍어내는 공장
입력 정의 (Pydantic)
검증 자동
문서 자동 생성
테스트 자동
즉 반복 작업이 거의 없음
| 항목 | Django / Flask | FastAPI |
|---|---|---|
| 목적 | 웹 서비스 | API |
| 속도 | 보통 | 매우 빠름 |
| 비동기 | 제한적 | 기본 지원 |
| 문서 | 직접 작성 | 자동 생성 |
| 데이터 검증 | 직접 구현 | 자동 |
| 재사용성 | 낮음 | 매우 높음 |
FastAPI는 빠르고, 자동화된, API 전용 프레임워크