Use watchfiles in Django’s autoreloader.
Improve your Django and Git skills with my books.
Python 3.9 to 3.13 supported.
Django 4.2 to 5.1 supported.
Install with pip:
python -m pip install django-watchfiles
Add django-watchfiles to your
INSTALLED_APPS
:INSTALLED_APPS = [ ..., "django_watchfiles", ..., ]
That’s it! 😅
Django doesn’t provide an official API for alternative autoreloader classes.
Therefore, django-watchfiles monkey-patches django.utils.autoreload
to make its own reloader the only available class.
You can tell it is installed as runserver
will list WatchfilesReloader
as in use:
$ ./manage.py runserver
Watching for file changes with WatchfilesReloader
...
Unlike Django’s built-in WatchmanReloader
, there is no need for a fallback to StatReloader
, since watchfiles
implements its own internal fallback to using stat
.