Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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开发服务器_Python_Django_Server - Fatal编程技术网

Python 设置网络上其他设备可以访问的Django开发服务器

Python 设置网络上其他设备可以访问的Django开发服务器,python,django,server,Python,Django,Server,我想建立一个Django开发服务器,我的计算机和智能手机都可以通过wifi在网络上访问 我已经设置了一个开发服务器,我的计算机可以访问它。但是,我的其他设备不能 Django文件中说: 请注意,默认IP地址127.0.0.1无法从网络上的其他计算机访问。要使网络上的其他计算机可以查看您的开发服务器,请使用其自己的IP地址(例如192.168.2.1)或0.0.0或::(启用IPv6) 我已找到我的“公共IP地址”,并尝试通过以下方式使用此地址: python manage.py runserve

我想建立一个Django开发服务器,我的计算机和智能手机都可以通过wifi在网络上访问

我已经设置了一个开发服务器,我的计算机可以访问它。但是,我的其他设备不能

Django文件中说:

请注意,默认IP地址127.0.0.1无法从网络上的其他计算机访问。要使网络上的其他计算机可以查看您的开发服务器,请使用其自己的IP地址(例如192.168.2.1)或0.0.0或::(启用IPv6)

我已找到我的“公共IP地址”,并尝试通过以下方式使用此地址: python manage.py runserver xx.xx.xxx.x(其中这是我的公共ip地址),但我得到一个“命令错误:'xx.xx.xxx.x'不是有效的端口号或地址:端口对。”

然后,我在IP地址之后尝试了相同的:8000,但得到了一个错误“error:That IP address not assignment to”

然后是python manage.py运行服务器0.0.0.0:8000。命令行报告“正在…启动开发服务器”,但当我在Chrome上尝试“”时,我得到一个“无法访问此站点错误”

这与我的windows防火墙设置有关吗?
你能找个人帮我吗?谢谢

您将需要您的本地ip地址,而不是公共的。 通过在cmd中键入以下命令,可以在windows计算机中获取本地ip:
ipconfig

在Linux上,在终端中键入以下命令:
ifconfig

ip地址的格式为192.168.0.101[示例]


因此,在手机的浏览器中,键入:192.168.0.101:80000.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。请注意,这需要在路由器上进行额外配置


这已经很晚了,但我在这篇文章之后又遇到了一个问题。如果您使用的是基于rhel发行版和firewalld 如果已启用,则可能正在阻止连接。因此,出于测试目的,请运行:

systemctl stop firewalld

试试看。您是否有两台Django服务器同时运行?你能发布你得到的确切错误吗?嗨@elena,我的开发服务器设置为0.0.0.0:8000,我刚刚尝试过,但是Chrome页面只是在“思考”,没有结果或错误。我只运行了一个Django开发服务器——在命令行上尝试另一个python命令之前,我会停止它。我已经用确切的错误更新了我原来的帖子。有什么想法吗?谢谢你的帮助。嗨,谢谢你的解释。我只是在谷歌上搜索如何找到我电脑的私有ip地址。我使用命令行上的命令“ipconfig”来获取我的“IPv4地址”,即192.xxx.x.xxx。(不是168.0.0.x)。因此,在0.0.0.0:8000启动开发服务器后,我在智能手机中尝试了192.xxx.x.xxx地址。它给了我一个看起来像Django的长错误,启动“不允许的主机位于/…”。使用建议的解决方案,将我的私有ip地址添加到“允许的\u主机”。我将尽快解决如何执行此操作…我将计算机的专用IP地址作为字符串添加到settings.py文件的空允许主机列表中。问题解决了!谢谢:)