Python 개발 환경과 생태계 · · 1 min read

웹 프레임워크: Django, Flask, FastAPI

Python 대표 웹 프레임워크 세 가지를 성격·사용법과 함께 정리했다. 규모·목적에 따라 고른다.

선택 기준

프레임워크성격언제 쓰나
Django풀스택 (batteries-included)ORM·admin·인증까지 한 번에, 규모 큰 서비스
Flask마이크로가볍게 시작, 필요한 것만 붙여 확장
FastAPI비동기 API타입 기반 REST API, 고성능, 문서 자동 생성

Django

ORM·admin·인증·템플릿을 기본 내장한 풀스택 프레임워크.

pip install django
django-admin startproject config .
python manage.py migrate
python manage.py runserver   # http://127.0.0.1:8000
# models.py — ORM 모델 정의
from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    created = models.DateTimeField(auto_now_add=True)

Flask

최소 구성으로 시작하는 마이크로 프레임워크.

pip install flask
# app.py
from flask import Flask

app = Flask(__name__)

@app.get("/")
def index():
    return {"hello": "world"}
flask run   # http://127.0.0.1:5000

FastAPI

타입 힌트 기반 비동기 API 프레임워크. Pydantic 으로 검증하고 Swagger 문서를 자동 생성한다.

pip install fastapi uvicorn
# main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
def read_item(item_id: int, q: str | None = None):
    return {"item_id": item_id, "q": q}
uvicorn main:app --reload   # http://127.0.0.1:8000/docs 에서 자동 문서 확인