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

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

     04.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, и откуда вообще взялось. Современные компании ежедневно сталкиваются с разной текстовой информацией. Эффективный поиск не только ускоряет доступ к нужным данным, но и повышает продуктивность, снижает затраты и открывает новые возможности для анализа и принятия решений. 

     13.02.2025       Выпуск 583 (10.02.2025 - 16.02.2025)       Статьи

Давайте писать удобное локальное окружение…

СМОТРИТЕ КОММЕНТАРИИ!

В данной статье я хочу представить выстраданную годами структуру проекта и организацию его окружения, которые помогают избежать большей части проблем, связанных с локальным разворачиванием проекта.Пример будет представлен для Django проекта и PDM в качестве менеджера зависимостей, но концептуально должен подходить для любого проекта на любом языке и с любым набором сервисов.

     31.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Avoiding Mocks: Testing LLM Applications with LangChain in Django

A practical method for testing Django-based LLM apps with LangChain uses a custom fake backend to avoid mocks, enabling flexible refactoring and thorough validation of model interactions.

     29.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Fake Django Objects With Factory Boy

The factory_boy library is a tool for managing fixtures for your tests. This article shows you how to use it with Django.

     24.01.2025       Выпуск 580 (20.01.2025 - 26.01.2025)       Статьи

Looking at Django task runners and queues

I use django-apscheduler to run a queue of scheduled tasks. Now I also need the ability to run one-off tasks and that turned out to not be so simple.

     13.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

Signals в Django

В этой статье я расскажу, как использовать Django Signals, чтобы приложение работало как часы. Signals — это встроенный механизм в Django, который позволяет разным частям приложения «общаться» друг с другом через события.

     11.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи