7 ошибок во Flask, из-за которых маленький сервис потом становится неуправляемым
Во Flask проблема редко в самом фреймворке. Чаще — в том, как быстро проект превращают в набор разрозненных функций, где конфиг, роуты и бизнес-логика лежат вперемешку.
— Не тащить всё в один файл app.py: лучше сразу разделить routes, services, models и config.
— Не хранить настройки в коде: конфиг должен приходить извне, иначе деплой и тесты будут ломаться от мелочей.
— Не писать логику в view-функциях: handler должен принимать запрос, вызывать сервис и отдавать ответ.
— Не забывать про фабрику приложения и blueprints, если проект может вырасти хотя бы до нескольких модулей.
Отдельная ловушка — глобальные объекты. Сессии, клиенты API, соединения и кэш лучше инициализировать контролируемо, а не создавать при импорте. Иначе тестирование, фоновые задачи и повторный запуск процесса начинают вести себя странно.
Еще одна полезная привычка: сразу договориться, где живут ошибки, где валидация, а где сериализация ответа. Если это не зафиксировать на старте, потом рефакторинг обходится дороже самого MVP.
Финальный ориентир простой: во Flask сначала проектируй границы модулей, а уже потом роуты. Тогда сервис можно будет расширять без переписывания половины кода.
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
7 ошибок во Flask, из-за которых маленький сервис потом становится неуправляемым
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.