在django开发服务器运行的时候,我怎样才能curl127.0.0.1/8000?

我从来没有碰到过,因为我总是可以运行开发服务器,在terminal打开一个新的标签,并从那里curl。 我现在无法做到这一点,因为我从Docker容器运行Django Development服务器,所以如果打开一个新的选项卡,我将在本地shell而不是docker容器中。

我怎样才能离开开发服务器运行,仍然能够curl或运行其他命令?

当我运行开发服务器时,我留下了这个消息:

Django version 1.10.3, using settings 'test.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. 

所以无法input任何命令。

您可以使用&在当前shell中作为后台作业运行服务器:

 $ python manage.py runserver & [1] <pid> $ 

您可以使用fg命令取回对runserver进程的直接控制权,然后像往常一样使用Ctrl+C来停止它。

要将前台进程设置为后台作业,可以使用Ctrl+Z其暂停,然后运行bg命令。 您可以使用jobs命令在当前shell中看到正在运行的背景作业列表。

screen不同的是,这将在当前shell中运行服务器。 如果退出shell,服务器也将停止,而screen使用一个单独的进程,在您退出当前shell之后将继续。

在开发环境中,你也可以做以下的事情。

  1. 让服务器在一个terminal窗口中运行。
  2. 打开一个新的terminal窗口/选项卡并运行docker exec -it <Container ID/Name> /bin/bash它将使您可以交互访问您的容器,即可以在容器中而不是在本地shell中执行任何命令。

键入exit以将容器shell发送到本地shell。