Python Web & Scripts — Django, FastAPI, скрипты
190 subscribers
93 photos
18 videos
1 file
248 links
Python для веба и автоматизации: Django, FastAPI, Flask, Starlette. Скрипты для парсинга, ETL, обработки данных, integrations. Async, pydantic, deployment patterns.
Канал сети public.tg.
Download Telegram
🔥 Новый участник НеТОПа на AffPapa!
https://affpapa.org/netop

🏆 НеТОП на AffPapa — https://affpapa.org/netop/go/27?src=broadcast
Платный рейтинг индустрии: плати больше — стоишь выше. Займи место в топе за USDT.
💰 Ставка: $100 · сейчас #1 в рейтинге
🔥 justbrand_create — новый участник рейтинга НеТОП на AffPapa!

🏆 Своё место в топе честно купил justbrand_create: https://affpapa.org/netop/go/28?src=broadcast

💰 Ставка: $111 · сейчас #1 в рейтинге

Весь рейтинг → https://affpapa.org/netop
Django тормозит не в моделях: 5 мест, где обычно течёт время

Частая ошибка — искать проблему только в SQL. В Django узкое место часто прячется в шаблонах, сериализации и лишних запросах на каждый объект. Если страница стала «тяжёлой», сначала смотрите не на красивый код, а на количество обращений к БД и объём данных, который реально проходит через view.

— N+1 в списках: forgot prefetch_related/select_related, и каждый элемент тянет свой запрос.
— Тяжёлые методы модели/свойства: логика внутри __str__, property и template tags вызывается чаще, чем кажется.
— Перетаскивание всего объекта: values() и only() могут помочь, если нужны не все поля.
— Сериализация без фильтрации: DRF-serializer легко раздувает ответ лишними вложенностями.
— Шаблоны с логикой: if/for в template не должны заменять подготовку данных во view.

Полезная привычка: перед оптимизацией включайте счётчик запросов и смотрите, где один экран превращается в десятки обращений. Часто исправление занимает 10 минут: добавить prefetch, вынести вычисление в annotate или перестроить queryset.

Если в Django «всё медленно», почти всегда виноват не фреймворк, а форма запроса и место, где вы считаете данные.
7 ошибок в python-скриптах, из-за которых автоматизация ломается в самый неудобный момент

Скрипт работает на ноутбуке и падает на сервере — классика. Обычно причина не в Python, а в мелочах: зависимость от текущей папки, ручные пути к файлам, скрытые переменные окружения.

Проверь базовый набор:
— все пути строятся через pathlib или os.path.join;
— входные данные валидируются до начала работы;
— логирование пишет не только ошибку, но и контекст задачи;
— сетевые запросы имеют timeout и retry;
— временные файлы чистятся даже при исключении.

Отдельно опасны скрипты, которые молча проглатывают исключения. Если except просто pass, баг уходит в тень и всплывает уже в данных, отчётах или интеграциях. Лучше падать шумно, чем делать вид, что всё в порядке.

Ещё одна частая проблема — запуск без параметров окружения. Конфиг, токены, рабочие каталоги, права на запись и кодировка файлов должны задаваться явно. Тогда скрипт можно переносить между cron, Docker и локальной машиной без сюрпризов.

Если скрипт нужен больше одного раза, относись к нему как к сервису: с конфигом, логами, проверками и понятной точкой входа. Так он переживёт и перенос, и рост данных, и чужие руки.
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Google отменил ручную пессимизацию в Еврозоне

Google перестал пессимизировать крупные новостники за паразитные страницы с казино и другими партнёрскими офферами в ЕЭЗ. Для арбитража вывод простой: в Европе схема с «пирогами» больше не даёт преимущества от траста основного домена, а Google впервые применяет разные правила по GEO под давлением регулятора.

➡️ Читайте на сайте: https://aff.top/blog/google-otmenil-ruchnuiu-pessimizaciiu-v-evrozone

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Вышел OpenClaw 2.0

OpenClaw вышел на новый уровень: совместная работа, нормальный веб-интерфейс и более простая настройка. Разбираем, зачем это обновление важно и как оно меняет работу с ИИ-агентом.

➡️ Читайте на сайте: https://aff.top/blog/vyshel-openclaw-2-0

🧠 Ещё больше инсайтов → в канале AFF.top
5 ошибок во Flask, из-за которых маленький проект быстро превращается в комок

Flask берут за простоту, а потом незаметно собирают вокруг него мини-фреймворк из костылей. За неделю в репах чаще всего всплывает одно и то же:
— весь код в одном файле;
— бизнес-логика живёт в view-функциях;
— конфиг правят руками в коде;
— нет единой схемы для ошибок и ответов.

Если проект растёт, сразу разносите слои: routes отдельно, сервисы отдельно, модели отдельно. View должна принимать запрос, валидировать вход и отдавать ответ, а не считать скидки, ходить в БД и собирать payload. Это резко снижает цену любого рефакторинга.

Второй узкий участок — конфиг и зависимости. Не храните настройки в глобальных переменных и не создавайте клиент БД прямо в обработчике. Делайте фабрику приложения, прокидывайте зависимости явно и держите один путь инициализации для тестов, dev и prod. Иначе отладка превращается в охоту за неявным состоянием.

Для ошибок тоже нужен порядок: свои исключения, единый формат JSON, понятные коды. Когда фронт или скрипт интеграции получает разные ответы на похожие сбои, поддержку начинает штормить. Если в проекте есть авторизация, лимиты или фоновые задачи — эти вещи тоже стоит выносить из view в отдельные модули.

Если Flask нужен не как демка, а как рабочий сервис, дисциплина важнее скорости старта: структура, фабрика, явные зависимости и единые ответы экономят часы на каждом следующем изменении.
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Павел Дуров анонсировал Gram Wallet

Дуров анонсировал Gram Wallet — нативный некастодиальный криптокошелёк внутри Telegram. Он обещает мгновенные переводы с нулевой комиссией между пользователями и более простые обновления за счёт архитектуры с валидаторами. Запуск уже идёт, а полный релиз ждут в ближайшие недели.

➡️ Читайте на сайте: https://aff.top/blog/pavel-durov-anonsiroval-gram-wallet

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Новые ограничение в Instagram для ИИ-профилей

Instagram ужесточает условия для УБТ: аккаунты помечают как созданные ИИ, а без такой маркировки можно словить теневой бан. Если нейросеть лишь улучшает контент, санкций нет. Для арбитражников это значит, что привычные схемы в FB и Инсте будут работать хуже, а обход антифрода станет сложнее.

➡️ Читайте на сайте: https://aff.top/blog/novye-ogranichenie-v-instagram-dlia-ii-profilei

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Оборот ChatGPT Ads достиг $1 миллиарда

OpenAI вывела ChatGPT Ads в self-service для Индии, Европы, Ближнего Востока и Северной Африки, а оборот платформы уже достиг $1 млрд. Для арбитража это сигнал присмотреться к новому источнику: трафик из нейронок выглядит горячим, но вход дорогой — CPC в tier-1 GEO около $5, поэтому тестировать стоит точечно и с небольшим бюджетом.

➡️ Читайте на сайте: https://aff.top/blog/oborot-chatgpt-ads-dostig-1-milliarda

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Автоматизация в арбитраже трафика: зачем и для кого?

В статье объясняется, какие сервисы автоматизации реально помогают в арбитраже трафика: автозалив, сценарии в антидетект-браузерах и low-code/no-code решения. Главный вывод — автоматизация экономит время и снижает рутину, но не заменяет команду, а ошибки в настройке могут повысить риск бана и лишних затрат.

➡️ Читайте на сайте: https://aff.top/blog/avtomatizaciia-v-arbitrazhe-trafika-zachem-i-dlia-kogo

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
В публичный релиз вышел Fable 5.1

➡️ Читайте на сайте: https://aff.top/blog/v-publichnyi-reliz-vyshel-fable-5-1

🧠 Ещё больше инсайтов → в канале AFF.top
Starlette ломают не роуты, а мелочи вокруг ASGI-контура

Starlette часто берут как «лёгкий фундамент» для API и сервисов. И это работает, пока не начинаются мелкие, но дорогие ошибки: лишние обёртки middleware, путаница с sync/async и фоновые задачи, которые живут дольше запроса.

Есть наблюдение которое стоит проверить:
— любой тяжёлый код в endpoint лучше уносить в отдельный слой, а не прятать в handler;
— middleware держите коротким: аутентификация, логирование, заголовки, всё остальное — наружу;
— если нужен streaming или SSE, тестируйте поведение клиента и отмену соединения отдельно.

Ещё один частый промах — использовать Starlette как «мини-Django». Это не про шаблоны на всё подряд и не про бизнес-логику в роутере. Внятная схема такая: роут отвечает за транспорт, dependency или сервис — за данные, отдельный модуль — за интеграции и очереди. Тогда приложение проще покрывать тестами и переносить между проектами.

Для production полезно сразу проверить: корректность исключений, таймауты на внешние вызовы, graceful shutdown, лимиты на тело запроса и поведение на отмене задачи. Именно эти места обычно всплывают не в демо, а под реальной нагрузкой.

Если Starlette кажется «слишком простым», это плюс: простота быстро показывает, где у вас архитектура, а где набор привычек.
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
1xBet перестал спонсировать эмоции

История о том, как казахстанцы зарегистрировали рекламный слоган 1xBet, а сам бренд оказался в юридической ловушке: после сделки с TonyBet права на товарный знак так и не выкупили. На фоне ареста активов Романа Семиохина и уголовного дела по азартным играм вывод простой: с 1xBet сейчас лучше не строить рекламные связки на рынке Казахстана.

➡️ Читайте на сайте: https://aff.top/blog/1xbet-perestal-sponsirovat-emocii

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
За продажу аккаунтов в мессенджере теперь грозит статья

С 1 сентября 2026 года продажа аккаунтов соцсетей и мессенджеров в России стала уголовно и административно рискованной: штраф до 700 тысяч рублей, принудительные работы или лишение свободы до 2–3 лет. Если через аккаунт украдут деньги, продавца могут записать в соучастники мошенничества по ст. 159 УК РФ с риском до 10 лет.

➡️ Читайте на сайте: https://aff.top/blog/za-prodazhu-akkauntov-v-messendzhere-teper-grozit-statia

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Google выпустил в релиз Gemini 3.8 flash

Google выпустил Gemini 3.8 Flash спустя две недели после 3.7: модель обещает сильный кодинг и быстрый отклик, а цена остаётся низкой — $0,75 за млн входящих токенов и $3,75 за млн исходящих. Вывод простой: пока Google демпингует, это выгодный вариант для тех, кому нужны дешёвые и быстрые нейросетевые запросы.

➡️ Читайте на сайте: https://aff.top/blog/google-vypustil-v-reliz-gemini-3-8-flash

🧠 Ещё больше инсайтов → в канале AFF.top
Django ломают не моделью, а тремя незаметными привычками в проекте

В репах чаще всего всплывает одно и то же: бизнес-логика уезжает в views, запросы к БД размазаны по шаблонам, а формы начинают делать чужую работу. В итоге код вроде бы «по-Django», но поддерживать его больно.

Держите три правила, которые помогают не развалить проект:
— всю логику изменений данных выносить из views в сервисы или model methods;
— тяжёлые запросы собирать заранее через select_related/prefetch_related, а не в цикле;
— шаблон оставлять для отображения, а не для вычислений и фильтрации.

Ещё одна типовая ошибка — смешивать в одном месте валидацию, доступы и запись в базу. Когда код растёт, это превращается в цепочку if-ов, которую страшно трогать. Лучше разделять: форма или serializer проверяет вход, сервис решает бизнес-правило, слой доступа к данным только сохраняет результат.

Если проект уже распух, начните с самого дорогого места: уберите N+1-запросы, вытащите повторяющиеся куски в отдельные функции и оставьте views максимально тонкими. Так Django снова становится быстрым в разработке, а не только в названии.
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Яндекс запустил сервис ПроБлогер

Яндекс запустил ПроБлогер — платформу для монетизации небольших каналов и групп во ВКонтакте, Дзене, Максе, Telegram, YouTube и Rutube. Для модерации нужны от 1000 подписчиков, свежие публикации, статус самозанятого, ИП или юрлица и соблюдение закона. Доход доступен через автопостинг с оплатой за просмотры и партнёрские ссылки; CPM можно задать самому или отдать аукциону.

➡️ Читайте на сайте: https://aff.top/blog/iandeks-zapustil-servis-probloger

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP - про арбитраж трафика и CPA рынок!
This media is not supported in your browser
VIEW IN TELEGRAM
Google ads упростил перенос креативов из Asset Studio

➡️ Читайте на сайте: https://aff.top/blog/google-ads-uprostil-perenos-kreativov-iz-asset-studio

🧠 Ещё больше инсайтов → в канале AFF.top
7 привычек Python-кода, которые экономят часы на ревью и отладке

За неделю в репах чаще всего всплывают не «сложные баги», а мелочи: неявные типы, лишние побочные эффекты, магические строки и функции, которые делают слишком много. Если код читается только автором, он уже дорогой.

— Держите границы функций короткими: одна функция — одна причина измениться.
— Не прячьте важное в глобалах и мутируемых аргументах; это почти всегда ловушка.
— Именуйте переменные по роли, а не по типу: user_id понятнее, чем data.
— Проверяйте входные данные у края системы, а не внутри каждого слоя.
— Для повторяющейся логики сначала вынесите маленький helper, а не копируйте блоки.

Есть наблюдение которое стоит проверить: большинство «сложных» инцидентов начинается с кода, который казался слишком простым, чтобы его переписывать. Поэтому полезно заранее соглашаться на маленькие правила — линтер, type hints, явные return, минимум скрытых преобразований.

Если хотите меньше сюрпризов в Python-проекте, начинайте не с оптимизаций, а с читаемости и предсказуемости: они дешевле любого дебага.