FastAPI vs Django

FastAPI e Django são ambos excelentes frameworks Python, mas servem a propósitos diferentes.

FastAPI (APIs Modernas)

# main.py
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float

@app.post("/items/")
async def create_item(item: Item):
    return {"message": f"Created {item.name}"}

@app.get("/items/{item_id}")
async def read_item(item_id: int):
    return {"item_id": item_id}

Django (Aplicações Completas)

# models.py
from django.db import models

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

# views.py
from django.shortcuts import render
from .models import Post

def post_list(request):
    posts = Post.objects.all()
    return render(request, 'posts/list.html', {'posts': posts})

Quando Usar Cada Um?

FastAPI: APIs REST, microserviços, alta performance

Django: Aplicações web completas, admin panel, ORM robusto