我注意到pg
文件发生更改后./manage.py runserver
会自动重新加载。如何驱动它的底层代码工作?
答案 0 :(得分:4)
自动Django服务器重启:
Django尝试每秒轮询文件修改时间戳。如果它看到有任何变化。它重新启动服务器。
基本上,Django服务器每秒检查每个文件的修改时间戳。如果它看到其中任何一个发生了变化,它将触发服务器重启。
但是,添加新文件不会触发重启,因此您必须在该方案中自行重启服务器。
例外:如果您使用Linux
并安装pyinotify
,内核信号将用于自动加载服务器。
根据django docs,
如果您使用
Linux
并安装pyinotify
,内核信号将会是。{ 用于自动重载服务器(而不是轮询文件修改 时间戳每秒)。这为大型项目提供了更好的扩展, 减少代码修改的响应时间,更强大的更改 检测和减少电池使用量。
重新启动服务器时执行的系统检查:
System check framework用于对Django项目执行检查。
系统检查框架是一组用于验证的静态检查 Django项目。它检测常见问题并提供如何提示 解决它们。
启动服务器时,每次在服务器运行时更改Python代码时,系统检查框架会检查整个Django项目是否存在常见错误。如果发现任何错误,则将它们打印到标准输出。