Framework
Django Full-stack
Django is "batteries included": ORM, migrations, admin, templates, auth, and strong security defaults.
ℹ
Open full course: Django (Scratch to Advanced)
From scratch (setup)
- 1 Create virtual env, then
pip install django. - 2 Start project:
django-admin startproject config . - 3 Start app:
python manage.py startapp app - 4 Run:
python manage.py runserver
# urls.py
+from django.urls import path
+from . import views
+
+urlpatterns = [
+ path("", views.home),
+]
Advanced checklist
- 1 ORM performance:
select_related/prefetch_related. - 2 Security: CSRF, XSS escaping, permissions, rate limits.
- 3 Deployment: Gunicorn + Nginx, static/media, env settings.
Framework
Flask Lightweight
Flask is minimal. You compose your stack using extensions (DB, auth, migrations, validation).
Hello World
- 1 Install:
pip install flask - 2 Create route and run dev server.
from flask import Flask
+
+app = Flask(__name__)
+
+@app.get("/")
+def home():
+ return {"ok": True}
✅
Use the app factory + blueprints for larger projects.
Framework
FastAPI Modern APIs
FastAPI uses type hints for validation and auto-generates OpenAPI docs. Great for async APIs.
From scratch (setup)
- 1 Install:
pip install fastapi uvicorn - 2 Run:
uvicorn main:app --reload - 3 Open docs:
/docs
from fastapi import FastAPI
+app = FastAPI()
+
+@app.get("/health")
+def health():
+ return {"status": "ok"}
Framework
Pyramid Flexible
Pyramid scales from small apps to large systems with explicit configuration and a pluggable design.
When to use
- 1 You want explicit configuration instead of "magic".
- 2 You need fine-grained security policies.
Framework
Tornado High-performance
Tornado is async-first and great for WebSockets and long-lived connections.
Advanced tips
- 1 Avoid blocking calls in the event loop.
- 2 Add observability: timeouts, metrics, structured logs.