我在ubuntu上运行的django站点安装在Windows 7计算机上的虚拟机中。我有NAT端口转发。我可以从局域网内的其他机器/平板电脑上找到nginx / uwsgi服务器。要在pycharm中调试站点,我停止nginx和uwsgi并使用pycharm的django服务器,如果我从ubuntu中的浏览器访问服务器,我可以单步调试代码。但是,出于某种原因,我无法从ubuntu之外的浏览器中访问pycharm的django服务器。
这对我来说很奇怪。我没有网络问题,因为我可以很好地点击nginx服务器。 Pycharm的django服务器运行正常,因为我可以从ubuntu中的浏览器中找到它。我不知道为什么我无法从外部打击pycharm的django服务器,就像我可以使用nginx服务器一样。
有人可以提供解释吗?感谢。
答案 0 :(得分:5)
首先,您应该获取虚拟机的IP地址。在Ubuntu中,在终端中运行命令“ifconfig”。
然后,在PyCharm中执行以下步骤: - 转到菜单Run>运行...>编辑配置 - 单击“+”按钮并选择Django服务器 - 将其命名并通过您在第一步中获得的IP地址填写“主机”字段 - 单击“运行”
最后,如果您的IP地址是192.168.1.10,请在外部浏览器中转到:
http://192.168.1.10:8000
答案 1 :(得分:2)
默认情况下,django在IP地址127.0.0.1上运行(pycharm可能会做同样的事情)。
外部网络无法访问该IP。您的主机操作系统网络位于访客虚拟机网络的外部。
您可以在0.0.0.0
上运行django runserver,并允许任何外部网络访问您的开发网站。