无法让Django在我的局域网上为其服务器服务器

时间:2013-08-27 02:31:29

标签: python django iptables lan django-dev-server

我真的尽量不在这里提问,但我现在一直在谷歌搜索,找不到答案或其他方法来尝试。我家里有一个CentOS盒子挂在路由器上。我已经为它分配了一个192.168.1.140的静态IP。因为我很懒,我只是嗤之以鼻。当我和Django闲逛时(目前正在学习Django / Python)并运行带有各种IP地址的python manage.py runserver,我无法让我的浏览器访问该框。我试过了

python manage.py runserver 0.0.0.0:8000
python manage.py runserver 8000
python manage.py runserver localhost:8000
python manage.py runserver 192.168.1.140:8000
python manage.py runserver 192.168.1.255:8000
python manage.py runserver 192.168.1.0:8000
python manage.py runserver 192.168.1.1:8000 #this errors out and says I can't use this IP address although this is the IP I use to access the router

当我在另一个终端中运行netstat -tln时,我确实可以验证它是否在端口8000上侦听指定的地址。在iptables中我运行它是如何运行它我通过tcp --dport 8000和--sport 8000运行它具有相同的结果。只是似乎不能破解代码。我还在我的路由器上设置端口转发,因此端口8000指向140.是否有某个日志我可以检查我在谷歌上找不到?我错过了什么?

虽然谷歌搜索我接近answer,但我认为它必须是别的。

如果您需要了解,我正在通过virtualenv运行Python 2.7.5和Django 1.5.2。 virtualenv是我的问题吗?谢谢你们

1 个答案:

答案 0 :(得分:1)

根据这个documentation, 正确的方法是将python manage.py runserver xxx.xxx.xxx.xxx:yyyy设置为您正在使用的端口的IP地址[Wi-Fi或以太网]。 如果其他设备连接到同一个LAN,那么他们应该能够直接从他们的浏览器访问您的Python VirtualEnv。 我的工作很好。 另外,我使用DHCP - 不知道它是否改变了什么。我以为我会提到这一点。