当其中一个代码文件发生变化时,自动Django重新加载的规则是什么?

时间:2015-07-27 17:33:50

标签: python django

我注意到pg文件发生更改后./manage.py runserver会自动重新加载。如何驱动它的底层代码工作?

1 个答案:

答案 0 :(得分:4)

自动Django服务器重启:

Django尝试每秒轮询文件修改时间戳。如果它看到有任何变化。它重新启动服务器。

基本上,Django服务器每秒检查每个文件的修改时间戳。如果它看到其中任何一个发生了变化,它将触发服务器重启。

但是,添加新文件不会触发重启,因此您必须在该方案中自行重启服务器。

例外:如果您使用Linux并安装pyinotify,内核信号将用于自动加载服务器。

根据django docs

  

如果您使用Linux并安装pyinotify,内核信号将会是。{   用于自动重载服务器(而不是轮询文件修改   时间戳每秒)。这为大型项目提供了更好的扩展,   减少代码修改的响应时间,更强大的更改   检测和减少电池使用量。

重新启动服务器时执行的系统检查:

System check framework用于对Django项目执行检查。

  

系统检查框架是一组用于验证的静态检查   Django项目。它检测常见问题并提供如何提示   解决它们。

启动服务器时,每次在服务器运行时更​​改Python代码时,系统检查框架会检查整个Django项目是否存在常见错误。如果发现任何错误,则将它们打印到标准输出。