PYPROGLIB Telegram 7180
⚡️ Django получает новый autoreloader: знакомьтесь с django-watchfiles

Django давно умеет автоматически перезапускать runserver при изменении Python-файлов. Но стандартная реализация работает неэффективно — она постоянно опрашивает файловую систему, нагружая CPU и замедляя работу.

Теперь появился более современный и быстрый способ — `django-watchfiles`, который использует нативные API отслеживания файловых изменений.

Преимущества нового подхода:
❇️ Перезапуск сервера происходит быстрее
❇️ Меньше нагрузка на процессор и экономия энергии
❇️ Более надёжная работа благодаря Rust-библиотеке watchfiles

До этого Django предлагал интеграцию с Watchman, но она требовала отдельной установки и обслуживания, а библиотека pywatchman давно не обновлялась.

Теперь у нас есть полноценная альтернатива: кроссплатформенная библиотека watchfiles.

Настроить всё очень просто

1️⃣ Установите пакет (например, через uv):
uv add django-watchfiles


2️⃣ Добавьте приложение в INSTALLED_APPS:
INSTALLED_APPS = [
...,
"django_watchfiles",
...,
]


3️⃣ Запустите проект и убедитесь, что autoreloader работает через WatchfilesReloader:
./manage.py runserver
Watching for file changes with WatchfilesReloader


📊 На проекте среднего размера (~385k строк кода + 206 пакетов) на M1 MacBook стандартный Django reloader потреблял ~10% CPU каждые 2 секунды, в то время как django-watchfiles использовал 0% CPU.


🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍203



tgoop.com/pyproglib/7180
Create:
Last Update:

⚡️ Django получает новый autoreloader: знакомьтесь с django-watchfiles

Django давно умеет автоматически перезапускать runserver при изменении Python-файлов. Но стандартная реализация работает неэффективно — она постоянно опрашивает файловую систему, нагружая CPU и замедляя работу.

Теперь появился более современный и быстрый способ — `django-watchfiles`, который использует нативные API отслеживания файловых изменений.

Преимущества нового подхода:
❇️ Перезапуск сервера происходит быстрее
❇️ Меньше нагрузка на процессор и экономия энергии
❇️ Более надёжная работа благодаря Rust-библиотеке watchfiles

До этого Django предлагал интеграцию с Watchman, но она требовала отдельной установки и обслуживания, а библиотека pywatchman давно не обновлялась.

Теперь у нас есть полноценная альтернатива: кроссплатформенная библиотека watchfiles.

Настроить всё очень просто

1️⃣ Установите пакет (например, через uv):

uv add django-watchfiles


2️⃣ Добавьте приложение в INSTALLED_APPS:
INSTALLED_APPS = [
...,
"django_watchfiles",
...,
]


3️⃣ Запустите проект и убедитесь, что autoreloader работает через WatchfilesReloader:
./manage.py runserver
Watching for file changes with WatchfilesReloader


📊 На проекте среднего размера (~385k строк кода + 206 пакетов) на M1 MacBook стандартный Django reloader потреблял ~10% CPU каждые 2 секунды, в то время как django-watchfiles использовал 0% CPU.


🐸 Библиотека питониста

#буст

BY Библиотека питониста | Python, Django, Flask


Share with your friend now:
tgoop.com/pyproglib/7180

View MORE
Open in Telegram


Telegram News

Date: |

SUCK Channel Telegram As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail. The Standard Channel Commenting about the court's concerns about the spread of false information related to the elections, Minister Fachin noted Brazil is "facing circumstances that could put Brazil's democracy at risk." During the meeting, the information technology secretary at the TSE, Julio Valente, put forward a list of requests the court believes will disinformation. While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that “scream therapy” is pseudoscience. Scientific research or no, it obviously feels good.
from us


Telegram Библиотека питониста | Python, Django, Flask
FROM American