Django dev server не перезагружается автоматически после сохранения файлов
Несколько месяцев назад я тестировал Django 3, и все работало хорошо. Браузер обновлялся после того, как я вносил изменения в файлы (.html и .py).
Теперь у меня проблема с недавно созданным проектом Django, браузер не перезагружается автоматически после сохранения изменений, которые я сделал на локальной машине.
OS: Windows 11
Editor: PyCharm / VS Code
Django 4.0.4
Python 3.10.4
Структура каталога
project/
├── project/
│ ├── ...
│ ├── settings.py
│ ├── urls.py
│ └── ...
├── first_app/
│ ├── ...
│ ├── urls.py
│ ├── views.y
│ └── ...
├── templates/
│ └── first_app/
│ └── index_view.html
└── manage.py
Файл settings.py по умолчанию с
....
INSTALLED_APPS = [
...
'first_app',
...
]
'DIRS': [BASE_DIR / 'templates']
....
project/urls.py
....
urlpatterns = [
path('', include('first_app.urls')
]
....
first_app/views.py
....
class IndexView(generic.TemplateView):
template_name = 'first_app/index_view.html'
...
first_app/urls.py
....
urlpatterns = [
path('', views.IndexView.as_view(), name='index')
]
....
templates/first_app/index_view.html
....
<p>
Test paragraph 1
</p>
....
Я запускаю сервер локально с помощью py manage.py runserver
Когда я изменяю 'параграф' на 'пример' в index_view.html и сохраняю его, предполагается, что он автоматически обновит браузер и отобразит тестовый пример 1. Но браузер не перезагружается.
Я создавал новые проекты Django несколько раз, и результаты все те же. Я что-то упустил?
Я пробовал решения следующих вопросов, но ни одно из них не работает для меня.
https://stackoverflow.com/questions/68974685/why-isnt-the-django-dev-server-reloading/71618373\
Django сервер не перезагружается при изменении файлов
Спасибо.
(Примечание: я фиксирую краткое содержание дискуссии в комментариях - вы нашли фактическую проблему в конце)
По умолчанию, Django способен только перезагружать тестовый сервер при изменении кода или шаблона, он не способен автоматически обновлять браузер.
Если ваш браузер сам обновлял страницу для ваших предыдущих проектов, то это было вызвано сигналом от вашей IDE или каким-то javascript в ваших страницах, который заставлял обновлять страницу.
Оказывается, в ваших предыдущих проектах был установлен сторонний пакет django-browser-reload, который внедряет в ваши страницы небольшой скрипт, обновляющий страницу всякий раз, когда перезагружается тестовый сервер Django. Добавление этого пакета в ваш новый проект решит проблему.