我刚刚使用Django 2.2创建了新的Python 3.7 virtualenv
每个runserver
都会打印:
使用StatReloader监视文件更改
我在Django的文档等中找不到任何信息。
它与Django特别相关吗? 它与Django一起使用吗? 它能做什么? 为什么在PyCharm中将其打印为红色? 我应该注意点什么吗? 可以禁用它吗?
大家伙
答案 0 :(得分:4)
只要您更改代码,django就会使用class自动重新加载开发服务器。
具体来说,是在get_reloader
方法中确定的,其中watchman是linux / macOS的替代方案
如果您使用的是Linux或MacOS,并且同时安装了pywatchman和Watchman服务,则内核信号将用于自动重新加载服务器(而不是每秒轮询文件修改时间戳)。这样可以在大型项目上提供更好的性能,减少代码更改后的响应时间,更强大的更改检测功能,并减少功耗。
不知道为什么它在pycharm中显示为红色,但是如果您确实想要,可以使用--noreload
标志将其禁用
答案 1 :(得分:3)
在我的情况下,我在文件settings.py
中将选项DEBUG = True更改为DEBUG = False,因为此选项可以正常工作。
在settings.py
中:
#SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
在docker中:
$ docker run container_name
Watching for file changes with StatReloader
在settings.py
之后:
#SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
在docker中:
$ docker run container_name
[24/Mar/2020 10:10:19] "GET /health HTTP/1.1" 200 5299
答案 2 :(得分:0)