2017-06-17 104 views
0

上访问我想设置我的电脑和智能手机都可以,而我的网络上通过WiFi访问Django开发服务器Django开发服务器。设置,可以通过其他设备我的网络

我已经设置了,我的电脑可以在http://127.0.0.1:8000/访问开发服务器。但是,我的其他设备不能。

Django的文件说:

“需要注意的是默认的IP地址,127.0.0.1,是不是从网络上的其他计算机访问使您的开发服务器查看到其他机器在网络上,利用其自己的IP地址(例如192.168.2.1)或0.0.0.0或::(启用IPv6)。“

我发现我的“公共IP地址”,并试图通过: python manage.py runserver xx.xx.xxx.x(这是我的公共IP地址),但我得到一个“命令错误:'xx.xx.xxx.x'不是有效的端口号或地址:端口对。“

然后我试着用:8000之后的IP地址,但得到一个错误“错误:不能分配IP地址”。

那么Python manage.py的runserver 0.0.0.0:8000。命令行报告“正在开始开发服务器...”,但是当我在Chrome上尝试“http://0.0.0.0:8000/”时,出现“此站点无法到达错误”。

有什么事情跟我的windows防火墙设置? 请问你能有人帮我吗?谢谢!

+0

尝试使用http://xx.xx.xxx.x:8000。你也有两个Django服务器同时运行吗?你能发布你正在得到的确切错误吗? – elena

+0

嗨@elena,我的开发服务器设置为0.0.0.0:8000,我刚刚尝试过http://xx.xx.xxx.x:8000,但Chrome页面只是“思考”,没有结果或错误。我只有一台Django开发服务器在运行 - 我在命令行尝试另一个python命令之前停止了它。我已经更新了我原来的帖子,确切的错误。有任何想法吗?谢谢你的帮助。 – Mark

回答

0

0.0.0.0不是一个真正的地址,它是一个占位符,只是说服务器没有绑定到特定的IP。

如果你在127.0.0.1上运行,它只会回答那些发往127.0.0.1的查询,所以只有localhost。

使用您的私有地址(192.168.0.x的最常见),它只会回答查询到这个地址(所以用127.0.0.1不应该工作打开,但有时也取决于实现)

所以,如果你使用0.0.0.0,它会回答任何事情。

TL; DR:使用0.0.0.0和使用连接:

  • 127.0.0。1从该计算机

  • 您的计算机的局域网

  • 你的公网IP为您的局域网之外的计算机内的私有IP地址的其他计算机。请注意,这将需要您的路由器上的其他配置

+0

嗨,谢谢你解释。我只是GOOGLE了如何找到我的电脑的私人IP地址。我在命令行上使用命令“ipconfig”来获得我的“IPv4地址”,它是192.xxx.x.xxx。 (不是168.0.0.x)。所以在0.0.0.0:8000的时候启动了开发服务器,我在我的智能手机上试了我的192.xxx.x.xxx地址。它给了我一个长长的Django外观错误,从“禁止主机在/ ...”开始。与建议的解决方案将我的私人IP地址添加到“Allowed_hosts”。我会尽快解决如何做到这一点...... – Mark

+0

我将我的计算机的私有IP地址作为字符串添加到了settings.py文件的允许主机的空白列表中。问题解决了!谢谢 :) – Mark

0

您需要使用本地IP地址不公开。 您可以通过键入在cmd中下面的命令得到窗机的本地IP:ipconfig

在Linux类型的终端如下:ifconfig

IP地址将是这样的形式192.168.0.101的[例]

因此,在手机的浏览器类型:192.168.0.101:8000

相关问题