【发布时间】:2011-09-24 20:49:35
【问题描述】:
我用过
python manage runserver 0.0.0.0:8000
启动服务器,以便我可以从我的 wifi 网络上的其他计算机访问项目,但是当我在另一台计算机上浏览到 internet-ipaddress:8000 时,项目不会加载。我错过了一个设置吗?
【问题讨论】:
我用过
python manage runserver 0.0.0.0:8000
启动服务器,以便我可以从我的 wifi 网络上的其他计算机访问项目,但是当我在另一台计算机上浏览到 internet-ipaddress:8000 时,项目不会加载。我错过了一个设置吗?
【问题讨论】:
假设所有机器都可以看到彼此...
获取您正在运行 runserver 的机器的 IP 地址。例如在控制台运行ifconfig。
ifconfig
eth0 Link encap:Ethernet HWaddr 10:1e:72:b8:2a:4b
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
...
检查您是否正在运行防火墙。例如
sudo ufw status
如果处于活动状态,则需要打开端口 8000,因此,再次在控制台中运行
sudo ufw allow 8000/tcp
然后启动 runserver(如果使用 django-extensions,则启动 runserver_plus)
python manage.py runserver_plus 192.168.1.2:8000
在另一台机器上打开浏览器
http://192.168.1.2:8000/admin
【讨论】:
ifconfig 替换为 ip a。仅供参考。
ALLOWED_HOSTS 设置中。
hostname -I的更好方法
internet-ipaddress 是什么意思?听起来您正在使用路由器的外部 IP。您应该使用您提供服务的特定机器的 IP,这将是一个内部地址,例如 192.168.0.2。
【讨论】:
您应该将其绑定到您的本地 IP 地址。例如
python manage.py runserver 192.168.1.100:8000
【讨论】:
将 192.168.0.8(或任何您的路由器 IP)作为字符串添加到设置中的 ALLOWED_HOSTS 列表,然后使用 python manage.py runserver 192.168.0.8:8000 运行服务器
【讨论】:
注意:192.168.2.5 是我的 ip。所以,给你自己的
打开 settings.py 并将其添加到 ALLOWED_HOSTS
ALLOWED_HOSTS = ['192.168.2.5']
然后运行命令
python manage.py runserver 192.168.2.5:8000
防火墙中出现允许访问的警告。
现在从同一网络上的系统访问您的主机。
【讨论】: