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

2024-03-16

我想设置一个 Django 开发服务器,我的计算机和智能手机都可以通过 Wi-Fi 在我的网络上访问该服务器。

我已经设置了我的计算机可以访问的开发服务器http://127.0.0.1:8000/ 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' 不是有效的端口号或地址:端口对”。

然后我在 IP 地址后尝试使用 :8000 进行相同的操作,但出现错误:“错误:无法分配该 IP 地址”。

Then

python manage.py runserver 0.0.0.0:8000.

命令行报告“正在...启动开发服务器”,但是当我在 Chrome 上尝试“http://0.0.0.0:8000/”时,出现“无法访问此站点的错误”。

这与我的 Windows 防火墙设置有关吗?


0.0.0.0 不是真实地址;它是一个占位符,仅表明服务器未绑定到特定 IP 地址。

如果您在 127.0.0.1 上运行,它只会回答寻址到 127.0.0.1 的查询,因此本地主机 https://en.wikipedia.org/wiki/Localhost only.

使用您的私有地址(最常见的是 192.168.0.x),它只会回答对此地址的查询(因此使用 127.0.0.1 打开应该不起作用,但有时确实取决于实现)。

因此,如果您使用 0.0.0.0,它将回答任何问题。

tl;dr:使用 0.0.0.0 并使用以下方式连接:

  • 127.0.0.1 来自这台计算机

  • 您的计算机的私有 IP 地址,供您内部的其他计算机使用LAN https://en.wikipedia.org/wiki/Local_area_network

  • LAN 外部计算机的公共 IP 地址。请注意,这需要在您的路由器上进行额外配置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置可由我的网络上的其他设备访问的 Django 开发服务器 的相关文章

随机推荐