Django 开发服务器在保存文件后不会自动重新加载

Django dev server does not automatically reload after saving files

几个月前我测试了 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 中的 'paragraph' 更改为 'example' 并保存时,它应该会自动刷新浏览器并显示测试示例1。但是浏览器没有重新加载。

新建了几次Django项目,结果还是一样。 我错过了什么吗?

我已经尝试了以下问题的解决方案,但是 none 的解决方案对我有用。

谢谢。

更新:
py manage.py runserver输出

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
May 25, 2022 - 21:40:08
Django version 4.0.4, using settings 'project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

(注意:我在评论中捕获了讨论的摘要——你最终找到了实际问题)

默认情况下,Django 只能在代码或模板更改时重新加载测试服务器,不能自动刷新浏览器。

如果您的浏览器为您以前的项目自行刷新页面,则可能是由您 IDE 发出的信号触发的,或者是由您页面中的某些 javascript 强制刷新的信号触发的.

原来你在以前的项目中安装了 third-party 包 django-browser-reload,它会在你的页面中注入一个小脚本,每当 Django 测试服务器重新加载时刷新页面。将该包添加到您的新项目将解决问题。