5 ошибок во Flask, из-за которых маленький проект быстро превращается в комок
Flask берут за простоту, а потом незаметно собирают вокруг него мини-фреймворк из костылей. За неделю в репах чаще всего всплывает одно и то же:
— весь код в одном файле;
— бизнес-логика живёт в view-функциях;
— конфиг правят руками в коде;
— нет единой схемы для ошибок и ответов.
Если проект растёт, сразу разносите слои: routes отдельно, сервисы отдельно, модели отдельно. View должна принимать запрос, валидировать вход и отдавать ответ, а не считать скидки, ходить в БД и собирать payload. Это резко снижает цену любого рефакторинга.
Второй узкий участок — конфиг и зависимости. Не храните настройки в глобальных переменных и не создавайте клиент БД прямо в обработчике. Делайте фабрику приложения, прокидывайте зависимости явно и держите один путь инициализации для тестов, dev и prod. Иначе отладка превращается в охоту за неявным состоянием.
Для ошибок тоже нужен порядок: свои исключения, единый формат JSON, понятные коды. Когда фронт или скрипт интеграции получает разные ответы на похожие сбои, поддержку начинает штормить. Если в проекте есть авторизация, лимиты или фоновые задачи — эти вещи тоже стоит выносить из view в отдельные модули.
Если Flask нужен не как демка, а как рабочий сервис, дисциплина важнее скорости старта: структура, фабрика, явные зависимости и единые ответы экономят часы на каждом следующем изменении.
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
5 ошибок во Flask, из-за которых маленький проект быстро превращается в комок
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.