Django:如何重启服务器以应用源代码更改
我在用Eclipse和PyDev开发Django网页应用。可以通过以下命令启动我的网页服务器:
python manage.py runserver
然后我就可以在浏览器中本地测试我的网页应用。不过每次我修改源代码后,都必须重启Eclipse,这样这些修改才能在我的网页应用中生效。
我想我需要以某种方式重启网页服务器,这样我的源代码才能重新被解释,才能应用我的修改。但是我该怎么做呢?我找不到任何可以执行这个操作的命令。
2 个回答
首先,如果你的项目还没有设置为Django项目,就在Eclipse中进行配置。方法是右键点击项目,选择PyDev,然后点击“设置为Django项目”。
接下来,点击顶部的绿色运行按钮,然后选择“运行配置”。在弹出的窗口中,选择PyDev Django图标,然后点击顶部的新建启动配置按钮。输入项目名称(比如我们叫它testproject),在主模块那里输入"${workspace_loc:testproject}/${DJANGO_MANAGE_LOCATION}"。
在“参数”标签页中,如果你想让其他机器也能访问你的服务器,就输入“runserver 0.0.0.0:8000 --noreload”;如果只想在你自己的机器上访问,就输入“runserver --noreload”,同时把工作目录改为"${workspace_loc:}"。
点击应用,你就准备好了!
在Eclipse中运行时,界面应该是这样的:

Django开发服务器在你修改Python代码时会自动重启。如果你加上一个叫做noreload的选项,它就不会自动重启了。
你可以这样运行:
./manage.py runserver --noreload
还有一种情况是,当文件的变化没有被Django使用时,服务器也不会自动重启。比如说,如果你的admin.py文件里有语法错误,Django就不会使用这个文件。即使你修改了它,服务器也不会重启。
另外,如果你在使用Eclipse调试时,由于一个bug,你需要加上noreload选项,因为这个bug会导致它不重新启动实例,而是启动一个新的实例。