Python Web & Scripts — Django, FastAPI, скрипты

Python-проект ломается не в коде, а в границах между модулями

За неделю в репах: один и тот же баг всплывает снова и снова — бизнес-логика тянется в view, парсинг живёт в модели, а запросы к внешним API размазаны по хендлерам.

Собирайте проект так:
— HTTP-слой только принимает и отдаёт данные;
— сервисы держат сценарий: проверить, преобразовать, вызвать;
— доменные функции не знают про Django ORM, FastAPI Request и формат ответа;
— интеграции с БД, очередями и API прячьте за отдельными адаптерами.

Такой разрез почти всегда дешевле, чем «красиво» писать напрямую в контроллере. Меньше циклических импортов, проще тесты, легче заменить источник данных или поднять часть логики в cron/worker без переписывания половины проекта.

Ещё одно наблюдение которое стоит проверить: если функцию нельзя протестировать без поднятия веб-сервера, она, скорее всего, живёт не там. В Python это особенно заметно, когда asyncio, pydantic и ORM смешивают в одном месте.

Держите код на границах простым, а правила — внутри сервисов. Тогда проект переживает и рост нагрузки, и смену фреймворка без лишней боли.
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.
tech

Свежие посты в категории «Сервисы и инфраструктура»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.