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

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

     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-бекэндом вручную.

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

How to Build Hot Module Replacement in Python

Django’s dev server, uvicorn, and others support hot-loading by restarting the service. For large programs this can be time consuming. This article shows you how to track just what needs to be reloaded and minimize the refresh to only those modules.

     12.04.2025       Выпуск 591 (07.04.2025 - 13.04.2025)       Статьи

Maps with Django: GeoDjango, Pillow & GPS

A quick-start guide to create a web map with images, using the Python-based Django web framework, leveraging its GeoDjango module, and Pillow, the Python imaging library, to extract GPS information from images.

     07.04.2025       Выпуск 591 (07.04.2025 - 13.04.2025)       Статьи
     04.04.2025       Выпуск 590 (31.03.2025 - 06.04.2025)       Статьи

Troubleshooting is a Lifestyle 😎

Systematically enhance Django troubleshooting by leveraging built-in indicators, error reporting, and extensible tools like the Debug Toolbar to isolate and resolve issues.

     18.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

Делаем жизнь легче: быстрый поиск в django и postgresql с помощью search_vector

Сегодня хочу рассказать о полнотекстовом поиске — как это все работает в django, а как в postgres, и откуда вообще взялось. Современные компании ежедневно сталкиваются с разной текстовой информацией. Эффективный поиск не только ускоряет доступ к нужным данным, но и повышает продуктивность, снижает затраты и открывает новые возможности для анализа и принятия решений.