在上一个错误之后自动重启django开发服务器上的文件保存

mu *_*u 無 8 python django

在编写代码时,我通常习惯于每分钟左右保存一次文件.有时,这会导致函数未完成的情况,并且我保存了它,导致django开发服务器抛出如下错误:

Unhandled exception in thread started by ...
Traceback
..
..
  File "/home/user/work/project/api/file.py", line 26
      def update_something(self, ) 
                               ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

现在,在代码工作正常的情况下,django dev服务器会自动重新启动文件保存并反映更改.如何让django服务器从失败的错误状态恢复,并在后续文件保存时自动重启服务器?

目前,我必须python manage.py runserver在终端中停止命令,然后再次手动运行它.

我使用django 1.5.3python 2.7.6

Nic*_*ski 18

我为此使用了一个简单的bash脚本.这是你可以使用的单线程:

$ while true; do python manage.py runserver; sleep 2; done
Run Code Online (Sandbox Code Playgroud)

在尝试重新启动服务器之前,这将等待2秒.插入您认为理智的值.

我通常把它写成一个命名的shell脚本runserver.sh,把它放在我的项目根目录(与manage.py相同的目录中)并将其添加到gitignore.

while true; do
  echo "Re-starting Django runserver"
  python manage.py runserver
  sleep 2
done
Run Code Online (Sandbox Code Playgroud)

如果你这样做,请记住chmod +x runserver.sh,然后你可以执行它:

./runserver.sh
Run Code Online (Sandbox Code Playgroud)

使用Ctrl-c Ctrl-c退出.