IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     27.06.2025       Выпуск 602 (23.06.2025 - 29.06.2025)       Статьи
     27.06.2025       Выпуск 602 (23.06.2025 - 29.06.2025)       Статьи

How to Enjoy Debugging in Production - Karen Tracey

Доклад с DjangoCon Europe 2025

     26.06.2025       Выпуск 602 (23.06.2025 - 29.06.2025)       Статьи

Peter Bengtsson: Native connection pooling in Django 5 with PostgreSQL

Enabling native connection pooling in Django 5 gives me a 5.4x speedup.

     25.06.2025       Выпуск 602 (23.06.2025 - 29.06.2025)       Статьи
     24.06.2025       Выпуск 602 (23.06.2025 - 29.06.2025)       Статьи

Круговой импорт в Python: как он ломает проекты и как его победить

Сегодня говорим о том, что в какой‑то момент словит почти каждый разработчик, особенно если вы не просто пишете скрипты, а строите проекты — будь то Django, Flask или кастомная архитектура с бизнес‑логикой в отдельных слоях. Речь про круговые импорты: они не объявляют о себе заранее, не фейлят весь проект громко и сразу, но подкрадываются исподтишка.

     13.06.2025       Выпуск 600 (09.06.2025 - 15.06.2025)       Статьи

Better Django management commands with django-click and django-typer

Streamline Django management commands using django-click and django-typer for cleaner syntax, built-in argument parsing, and richer output via type annotations and customizable CLI styling.

     12.06.2025       Выпуск 600 (09.06.2025 - 15.06.2025)       Статьи

Оптимизация запросов в Django. Подробное руководство

Хочу рассказать больше чем обычно про оптимизацию запросов к базе данных в Django. Расскажу о том, как не только запрашивать, но и создавать или обновлять записи в базе. В статье будет много примеров, генерируемый SQL, типы данных, индексы и выводы планировщика запросов. Данная статья подходит для как для начинающих, так и достаточно опытных разработчиков на django, а также для всех, кто еще не интересовался, что происходит под капотом ORM.

     11.06.2025       Выпуск 600 (09.06.2025 - 15.06.2025)       Статьи
     10.06.2025       Выпуск 600 (09.06.2025 - 15.06.2025)       Статьи

Кастомизация Django Admin с django-unfold

Её довольно старое для современных рамок стилизация - не приговор. И делается это буквально в пару кликов, без лишнего .css кода. На который как раз таки гайдов полно. Зачем засорять папку со статическими файлами лишним кодом, если можно сделать это в пару кликов.

     06.06.2025       Выпуск 599 (02.06.2025 - 08.06.2025)       Статьи

Automatic Dead‑Link Detection

django-linkcheck is a Django app that automates dead link detection in URLFields and HTML content, schedules checks, and provides an admin interface.

     06.06.2025       Выпуск 599 (02.06.2025 - 08.06.2025)       Статьи

Optimizing Django Docker Builds with Astral’s `uv`

Astral’s uv dramatically accelerates and secures Django Docker builds by leveraging multi-stage images, cache mounts, and strict lockfile verification for deterministic dependency management.

     04.06.2025       Выпуск 599 (02.06.2025 - 08.06.2025)       Статьи

Особенности поведения функции resolve при установке языка в Django 5

Сегодня я наткнулся на интересный баг, который заключается в поведении функции resolve для разрешения путей на Django сайте при установке языка.

     27.05.2025       Выпуск 598 (26.05.2025 - 01.06.2025)       Статьи

Некоторые неочевидные особенности Django ORM (filter и exclude)

TLDR: В статье рассказывается о некоторых особенностях Django ORM, а именно, как при неправильном использовании некоторых встроенных методов (filter(), exclude()) можно незаметно, но очень больно, выстрелить себе в ногу при работе со связями many-to-many и one-to-many (связь, обратная к FK). Статья может быть полезной не слишком искушенному в тонкостях Django ORM разработчику. Интересно...

     23.05.2025       Выпуск 597 (19.05.2025 - 25.05.2025)       Статьи

Dataclass For Django Custom Command Arguments

Leveraging dataclasses for Django custom command arguments centralizes default settings and URL query construction, streamlining code and reducing potential mismatches.

     16.05.2025       Выпуск 596 (12.05.2025 - 18.05.2025)       Статьи

Setting up NGINX Unit (and switching from uWSGI)

Switch Django apps from uWSGI to NGINX Unit using JSON configuration, add SECURE_PROXY_SSL_HEADER, adjust socket proxy_pass, and enable ASGI/WSGI deployments.

     03.05.2025       Выпуск 594 (28.04.2025 - 04.05.2025)       Статьи
     25.04.2025       Выпуск 593 (21.04.2025 - 27.04.2025)       Статьи

You don't need Django CompositePrimaryKeys

Django 5.2 adds CompositePrimaryKey support for legacy or sharded databases, but new models should avoid composite keys in favor of surrogate keys and unique constraints.

     19.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

F(), Func() и никаких циклов: как Django думает в SQL

Сегодня рассмотрим, как использовать F()-экспрессии и Func()-обёртки в Django для того, чтобы выполнять арифметику, условия и преобразования не в Python, а на стороне базы данных. Один SQL-запрос может заменить десятки строк кода не теряя в качестве кода.

     17.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Пробуем Codex CLI от OpenAI для доработки ХрюХрюКара

Пару дней назад я опубликовал статью про ХрюХрюКар - телегам-бот для борьбы со стоянкой автомобилей на зелёных зонах. Проект с открытым исходным кодом. За два дня ко мне обратилось несколько сторонников с просьбой добавить их города. Но вот незадача: у меня была возможность через админ-панель Django править данные в базе, но об этом кеш сервера не узнает (основной бекэнд на Go). В результате приходилось добавлять данные и перезагружать контейнеры с go-бекэндом вручную.