django - django开发服务器运行时,如何 curl 127.0.0.1/8000?

标签 django shell docker

我以前从未遇到过这种情况,因为我总是可以运行开发服务器,在终端中打开一个新选项卡,然后从那里进行 curl 。我现在无法执行此操作,因为我正在从Docker容器运行Django开发服务器,因此,如果我打开一个新标签页,则将位于本地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.

因此无法键入任何命令。

最佳答案

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

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

您可以使用fg命令来获得对runserver进程的直接控制,然后可以使用Ctrl+C照常停止它。

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

screen的不同之处在于,它将在当前shell中运行服务器。如果退出 shell 程序,服务器也将停止,而screen使用一个单独的过程,该过程将在退出当前 shell 程序后继续。

关于django - django开发服务器运行时,如何 curl 127.0.0.1/8000?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40442793/

相关文章:

node.js - Nodejs 子进程在容器 docker 中生成

docker - 如何在远程Docker服务器上使用Visual Studio在Docker支持下调试.net Core项目

git - 为什么 git branch 和 $(git branch) 输出不同的结果

linux - Linux 中的 atq 作业数量有限制吗?

python - wx.TextCtrl(或底层 GTK+)的多线程问题

mysql - 重定向 docker-exec 的输出

python - 在*没有* Internet 连接的情况下安装 MySQLDb python 模块

Django 按外键关系中的使用情况对搜索结果进行排序

python - django 获取字符串的第一部分

mysql - 用户无法生成 django 测试数据库