Django dev server在保存文件后不会自动重新加载

gk7wooem  于 12个月前  发布在  Go
关注(0)|答案(1)|浏览(107)

几个月前我测试了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']
....


项目/urls.py

....
urlpatterns = [
   path('', include('first_app.urls')
]
....


第一个_app/views.py

....
class IndexView(generic.TemplateView):
   template_name = 'first_app/index_view.html'
...


第一个_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“并保存后,应该会自动刷新浏览器,显示Test example 1,但浏览器没有重新加载。
我已经创建了几次新的Django项目,结果仍然是一样的。我错过了什么吗?
我已经尝试了以下问题的解决方案,但没有一个解决方案对我有效。
[https://stackoverflow.com/questions/68974685/why-isnt-the-django-dev-server-reloading/71618373](https://stackoverflow.com/questions/68974685/why-isnt-the-django-dev-server-reloading/71618373%5C) Django server not reloading on file changes的数据库
更新:
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.

jtoj6r0c

jtoj6r0c1#

(Note:我在评论中捕捉了讨论的摘要--你最终找到了实际问题)
默认情况下,Django只能在代码或模板更改时重新加载测试服务器,它不能自动刷新浏览器。
如果您的浏览器正在为您以前的项目自行刷新页面,那么它可能是由IDE发出的信号触发的,或者是由页面中的某些JavaScript强制刷新。
原来你在之前的项目中安装了第三方软件包django-browser-reload,它会在你的页面中注入一个小脚本,每当Django测试服务器重新加载时都会刷新页面。将该软件包添加到新项目中可以解决这个问题。

相关问题