Основы Flask: routing, шаблоны, формы и сессии
Тема дорожной карты · Python Programming
Flask — минималистичный WSGI-микрофреймворк поверх Werkzeug и Jinja2: маршруты, шаблоны, формы и сессии ты собираешь сам, без навязанной архитектуры. Это отличный учебный инструмент, потому что каждая часть на виду. Типичные грабли: забыть обернуть работу с базой в application context, утечка секретов через дефолтный app.secret_key и запуск встроенного dev-сервера в продакшене вместо нормального WSGI-сервера (Gunicorn или uWSGI) за nginx.
Как это работает
Основы Flask: routing, шаблоны, формы и сессии в Python — это FastAPI (async, типизированный, OpenAPI-first), Flask (sync, минималистичный, большая экосистема) и Django (batteries-included, ORM, admin). requests — де факто sync HTTP-клиент; httpx — его async-преемник. Pydantic — рантайм-валидация данных из type hints, на нём строятся request/response модели FastAPI. SQLAlchemy — универсальный ORM (1.x classic или 2.0 typed); Alembic — миграции схемы.
Когда применять
FastAPI — для новых async API с автогенерированными доками и Pydantic-валидацией; Flask — для крохотных сервисов или когда команда знает Flask наизусть; Django — когда нужны admin + ORM + auth из коробки (CMS-like, внутренние тулы). requests — для разовых скриптов, httpx — когда приложение async. SQLAlchemy — когда SQL уходит за тривиальный CRUD; для разовой аналитики raw SQL через sqlite3/psycopg часто понятнее.
Типичные ошибки
Ловушки Основы Flask: routing, шаблоны, формы и сессии: блокирующие вызовы внутри async-эндпойнтов FastAPI (используйте httpx, не requests); деплой Flask на dev-сервере в production (нужны gunicorn/uvicorn + reverse proxy); чрезмерная вера в Pydantic на performance-critical путях (валидация стоит — модели делайте худыми); lazy loading SQLAlchemy триггерит N+1 запросы (.options(joinedload(...)) или eager loading); коммит секретов в settings.py (используйте переменные окружения).
Связанные понятия
Полезные ресурсы
Проверить знания (1)
Загрузка вопросов…