Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:如何重新启动Web服务器以便应用源代码中的更改_Python_Django_Restart - Fatal编程技术网

Python Django:如何重新启动Web服务器以便应用源代码中的更改

Python Django:如何重新启动Web服务器以便应用源代码中的更改,python,django,restart,Python,Django,Restart,我使用Eclipse和PyDev开发Django Web应用程序。我可以用 python manage.py runserver 然后我可以在浏览器中本地测试我的Web应用程序。但是,每次更改源代码时,我都必须重新启动eclipse,以便将这些更改应用到我的Web应用程序中 我想我必须以某种方式重新启动Web服务器,以便再次解释我的sourceode,以便应用我的更改。但是我该怎么做呢?我找不到任何命令来执行此操作。Django开发服务器在python代码更改时自行重新启动。如果使用norel

我使用Eclipse和PyDev开发Django Web应用程序。我可以用

python manage.py runserver
然后我可以在浏览器中本地测试我的Web应用程序。但是,每次更改源代码时,我都必须重新启动eclipse,以便将这些更改应用到我的Web应用程序中


我想我必须以某种方式重新启动Web服务器,以便再次解释我的sourceode,以便应用我的更改。但是我该怎么做呢?我找不到任何命令来执行此操作。

Django开发服务器在python代码更改时自行重新启动。如果使用noreload选项运行,则可能不会发生这种情况

./manage.py runserver--noreload

服务器未自动重新加载的另一种情况是django未使用文件更改。例如,如果您的admin.py中有语法错误,django将不会使用它。更改它不会重新启动服务器。
请记住,如果使用eclipse debug,则必须使用noreload运行django,因为存在一个bug,该bug不会重新启动实例,而是启动一个新实例。

首先,将该项目配置为eclipse中的django项目(如果尚未配置)。(右键单击项目,然后选择PyDev->Set as Django project)

其次,单击顶部的绿色运行按钮,并选择“运行配置”。选择PyDev Django图标并点击顶部的new launch configuration按钮。为主模块输入项目名称(比如testproject)和“${workspace\u loc:testproject}/${DJANGO\u MANAGE\u LOCATION}”

在Arumings选项卡上,如果您希望您的服务器对您以外的计算机可见,请输入“runserver 0.0.0.0:8000--noreload”;如果您只想在您的计算机上访问,请输入“runserver--noreload”,并将工作目录更改为“${workspace_loc:}”

点击应用,你应该被设置为去

以下是在eclipse中运行时的外观:

代码更改后您是否尝试过F5?这对我很有用。不管有没有日食。你是在告诉我我应该通过'--noreaload',但利安·利耶夫说的恰恰相反!或者我在这里得到了什么东西?当您在eclipse内部以pydev运行配置运行时,您需要“-noreload”,因为当runserver以autoreload模式运行时,它会启动pydev无法控制的另一个进程(并且不会在控制台窗口中捕获输出)。这意味着,当您进行更改时,在eclipse中重新启动(点击红方块)。你应该会在控制台窗口中看到该应用程序正在运行。感谢你的最后评论:我只需单击红色的“终止”按钮!!!!然后再次运行,我的新源代码将应用于我的应用程序!非常感谢。只有在调试模式下才应该使用--noreload选项。仅当您没有在调试模式下运行Adam时,才会出现上述单独进程运行的问题。在正常模式下,不使用noreload也可以。离题:使用dev服务器来服务所有东西(django和媒体)真的很慢,我建议您使用真正的web服务器来服务媒体文件。