manage.py运行服务器


72

当我尝试检入机器B时,我正在从机器A运行python manage.py runserver。输入的网址是http:// A:8000 / 我收到类似系统返回的错误:(111)连接被拒绝



4
默认情况下,它使用本地主机地址(127.0.0.1),该地址不接受来自网络上其他计算机的连接。127.xxx被认为是其自己的网络,除非明确要求,否则计算机不会在它与其他接口之间进行路由。因此,从另一个网络连接到它将找不到打开的端口。你想要的是./manage.py runserver A:8000
Mike DeSimone

Answers:


138

您可以通过以下方式为网络中的计算机运行它:

./manage.py运行服务器0.0.0.0:8000

这样一来,您就可以从网络中的任何计算机访问服务器。只需在浏览器http://192.168.0.1:8000中的其他机器上键入192.168.0.1您的服务器的IP地址...就可以使用了...。

或者在您的情况下:

  1. A在命令行上的机器上./manage.py runserver 0.0.0.0:8000
  2. B在浏览器类型中尝试机器http://A:8000
  3. 一口啤酒。

源自django docs


是。这是我一直在做的事情。我在ubuntu VM中运行django,然后在主机Windows计算机上将其连接到Windows进行测试。
mpen 2011年

对我来说,它就像时钟一样。我也有ubuntu。我的朋友有Windows7。尝试首先ping您的主机。并确保您正确调整了VM!
波尔

2
我使用此版本的命令,以便可以从Parallels WinXP VM访问Mac上的Django dev服务器。
卡尔·G

通过这种方式,我可以连接ios设备。
Nidhin

15

您需要告诉manage.py本地IP地址要绑定的端口。有点像python manage.py runserver 192.168.23.12:8000。然后从另一台计算机使用相同的IP和端口。您可以在文档中阅读有关内容的更多信息。


1
非常感谢您的答复,但仍然出现错误,例如错误:无法分配该IP地址。
sreekanth 2011年

1
您可能在外部IP地址上绑定了该端口。也许尝试另一个端口。另外,请确保您没有防火墙阻止连接。
詹森·韦伯

6

我在同一个问题上苦苦挣扎,找到了一个解决方案。我想它可以帮助您。当您运行python manage.py runserver时,它将使用127.0.0.1作为默认IP地址和8000。127.0.0.0与可以在本地访问的localhost相同。要从跨源访问它,您需要在系统ip或0.0.0.0上运行它。可以从网络中的任何源访问0.0.0.0。对于端口号,如果要使用自己的端口号而不是默认端口号,则需要设置系统的入站和出站策略。

为此,您需要使用python manage.py runserver 0.0.0.0:<your port>上述命令运行服务器

或者,在您的python环境中设置默认的IP和端口。为此,请参阅我在Django上的答案 更改默认运行服务器端口

享受编码...


4

万一有Windows用户遇到麻烦,我想我会补充自己的经验。运行时python manage.py runserver 0.0.0.0:8000,我可以使用localhost:8000而不是我的IP地址查看网址192.168.1.3:8000

我最终在无线适配器上禁用了ipv6并运行ipconfig /renew。之后,一切都按预期进行。


3

使用flask.ext.script在flask中,您可以这样做:

python manage.py runserver -h 127.0.0.1 -p 8000


1

对于使用CentOS7的用户,为了允许访问端口8000,您需要在新的SSH连接中修改防火墙规则:

sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload

1

首先,更改目录:

cd your_project name

然后运行:

python manage.py runserver

0

我遇到了同样的问题,这是解决问题的方法:

首先,您必须知道您的IP地址。在Windows PC上,我在cmd窗口中运行ipconfig并选择我的IP V4地址。就我而言192.168.0.13

上面提到的第二个:runserver 192.168.0.13:8000

它为我工作。我收到该消息的错误是使用网关地址而不是我的PC地址。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.