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

标签 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

现在,如果代码运行良好,django 开发服务器会在文件保存时自动重启并反射(reflect)更改。如何使 django 服务器从失败的错误状态中恢复并在后续文件保存时自动重启服务器?

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

我在 python 2.7.6 上使用 django 1.5.3

最佳答案

我为此使用了一个简单的 bash 脚本。这是您可以使用的单行代码:

$ while true; do python manage.py runserver; sleep 2; done

在尝试重新启动服务器之前将等待 2 秒。插入任何您认为合理的值。

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

while true; do
  echo "Re-starting Django runserver"
  python manage.py runserver
  sleep 2
done

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

./runserver.sh

使用 Ctrl-c Ctrl-c 退出。

关于python - 在上一个错误后自动重启文件保存的 django 开发服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25199550/

相关文章:

python - 在 Python 中同时执行两个类方法

python - 从需求文件中删除未使用的包

python - 如何使用 QtCore.Qt.UserRole 在 QListWidgetItem 中显示部分粗体文本

python - WSGIDaemon 进程语法错误 - Mod_wsgi django ImportError : No module named django. core.wsgi

django - 我应该将我的南迁移保留在版本控制中吗?

python - 在python中将1*5的列表(对象?)转换为df

python - 将 Bytearray 编码为 UTF-8

python - 为什么 Django-simple-math-captcha 不呈现问题?

python - Django:如何在 django 中循环查询集并将 bool 字段更改为 True?

python - 将列表中的字典键从 unicode 编码为 ascii