Python Web & Scripts — Django, FastAPI, скрипты
Ссылка
нажмите — покажем
нажмите — покажем
Python-проект ломается не в коде, а в границах между модулями
За неделю в репах: один и тот же баг всплывает снова и снова — бизнес-логика тянется в view, парсинг живёт в модели, а запросы к внешним API размазаны по хендлерам.
Собирайте проект так:
— HTTP-слой только принимает и отдаёт данные;
— сервисы держат сценарий: проверить, преобразовать, вызвать;
— доменные функции не знают про Django ORM, FastAPI Request и формат ответа;
— интеграции с БД, очередями и API прячьте за отдельными адаптерами.
Такой разрез почти всегда дешевле, чем «красиво» писать напрямую в контроллере. Меньше циклических импортов, проще тесты, легче заменить источник данных или поднять часть логики в cron/worker без переписывания половины проекта.
Ещё одно наблюдение которое стоит проверить: если функцию нельзя протестировать без поднятия веб-сервера, она, скорее всего, живёт не там. В Python это особенно заметно, когда asyncio, pydantic и ORM смешивают в одном месте.
Держите код на границах простым, а правила — внутри сервисов. Тогда проект переживает и рост нагрузки, и смену фреймворка без лишней боли.
1 ·