我在localhost中运行我的django项目,它运行正常.. 出于测试目的,我想从连接在同一网络中的另一台计算机上运行本地主机。
我已完成python manage.py runserver 'my ip address'
也行得正常..有没有办法可以从连接到另一个网络的另一台计算机访问我的本地主机?
就像我连接到A网络并运行我的localhost而我的朋友已连接到B网络。假设他想访问我的localhost并看到我的项目正在运行那么是否可以从连接到另一个项目的另一台计算机访问计算机的localhost?
答案 0 :(得分:2)
你可以。只需在
中运行django runserverpython manage.py runserver 0.0.0.0:8000
现在,您可以使用youripaddress:8000
来自Django ......
请注意,无法从网络上的其他计算机访问默认IP地址127.0.0.1。要使您的开发服务器可以在网络上的其他计算机上查看,请使用自己的IP地址(例如192.168.2.1)或0.0.0.0或::(启用IPv6)。
您可以提供括号括起来的IPv6地址(例如[200a :: 1]:8000)。这将自动启用IPv6支持。
更新:
为了匹配问题标题的答案。您需要配置路由器以将端口80转发到yourapp地址
答案 1 :(得分:1)
使用本地主机或您的系统IP运行服务器,如下所示之一
python manage.py runserver 192.168.6.7:8000
python manage.py runserver 0.0.0.0:8000
python manage.py runserver 127.0.0.1:8000
在 settings.py 中添加主机以从网络中的其他系统访问。
ALLOWED_HOSTS = ['127.0.0.1', 'localhost','192.168.6.7']
答案 2 :(得分:0)
如果您正在Django项目中使用DEBUG=True
mod,则除了此以外,您不需要其他任何东西(我假设您未使用端口80,它需要root访问权限)。
您必须使用0.0.0.0
作为主机IP,这是一个简单的解决方案。命令是:
python manage.py runserver 0.0.0.0:8000
。就是这样。