在0.0.0.0:8000上运行Django

5

我正在使用Vagrant和Virtualbox,因此无法在默认端口和地址上运行runserver,否则它将无法正常工作。

Django提示:

(...) to listen on all public IPs (useful if you want to show off your work on 
other computers), use:

python manage.py runserver 0.0.0.0:8000

我尝试通过http://127.0.0.1:8888/访问服务器,但是显示无法连接。 有什么猜测如何正确运行服务器吗?

我已经按照 gettingstartedwithdjango 视频的指导操作,并且这个http://127.0.0.1:8888/对作者起作用。


4
请注意,原文中提到了8000,但是您说您尝试在8888访问它。 - Johanna Larsson
这些都不起作用。我已经按照“gettingstartedwithdjango”视频和作者提供的“http://127.0.0.1:8888/”进行了尝试。 - nutship
你是否已正确转发了8000端口?你的设置中是否将Vagrant的IP地址设置为“INTERNAL_IPS”? - Ondrej Slinták
@OndrejSlinták 嗯,可能是这种情况,请详细说明如何设置那些 INTERNAL_IPS 设置? - nutship
2个回答

5
对于那些只是想查找IP配置的人,可以按如下方式运行(如OP中所示) -
python manage.py runserver 0.0.0.0:8000

如果您通过本地网络访问它,您还需要更新settings.py中主机IP的设置,并指定localhost。在 Windows 上,在命令提示符中运行ipconfig或在 Ubuntu 终端中运行ip addr show可以得到本地 IP。
ALLOWED_HOSTS = ['192.168.1.XXX', 'localhost']

2
您需要以root权限运行。如果您使用sudo命令进行运行,您将成功。 更新1 之前的信息与主题无关。 在vagrant中,您需要将端口转发到本地端口。请查看此文档更新2 这个页面讲解了如何在vagrant box中安装和配置django。

8
错误,大于1024的每个端口都可以被普通用户使用而无需root权限。 - akluth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接