在本地我可以使用127.0.0.1:8000
访问python项目。
我也希望通过LAN访问它。我已经做了一些研究如何解决这个问题,并且我已经按照以下步骤进行了研究:
在settings.py
文件中我ALLOWED_HOSTS=[192.168.1.11:8000]
,这是我的计算机的局域网IP地址。
然后在我已完成python manage.py runserver 192.168.1.11:8000
的终端中,它没有工作,我尝试用0.0.0.0:8000
替换IP地址但发生了同样的问题。
使用DEBUG=True
我收到以下错误消息:
Invalid HTTP_HOST header:'<my_ip_adress>'.
You may need to add '<my_ip_adress>' to ALLOWED_HOSTS,
我已经做到了......
答案 0 :(得分:2)
如果您只是想在局域网中将其用于测试目的,请运行:
python manage.py runserver 0.0.0.0:8000
在settings.py
中,允许主机的空列表应该足够了:
ALLOWED_HOSTS = []
答案 1 :(得分:2)
您需要正确配置ALLOWED_HOSTS
变量:
所以你需要:
ALLOWED_HOSTS = [
'192.168.1.11',
'127.0.0.1', # This is the one you need to allow in your case
]
最后,正如@cezar指出的那样,你需要在0.0.0.0:8000
运行服务器,以便&#34;广播&#34;它在你的局域网上:
python manage.py runserver 0.0.0.0:8000
祝你好运:)
答案 2 :(得分:0)
这对我在Ubuntu 19.10上有效
sudo ufw allow from 192.168.1.0/24 to any port 8000 proto tcp
我还必须在 /etc/sysctl.conf 中启用数据包转发,并删除前缀为net.ipv4.ip_forward=1
的#。
最后,我清除了浏览器缓存。
以前,我使用的是Mint 19.03,只需要添加 ufw 规则。