django - 无法远程访问 django 服务器
问题描述
我无法从任何其他设备访问 localhost / 0.0.0.0:8000 。
当前的 django 项目是建立在我去年玩的一个旧项目的基础上的。不幸的是,我丢失了以前的项目,所以我无法比较它们的 settings.py 文件,尽管它们之间应该几乎没有任何区别。
.
设置
- Dropbox - 保存项目和 sqlite 数据库文件
- 笔记本电脑 - 运行服务器,与去年相比没有变化
- 桌面 - /
- 苹果手机 - /
.
问题出在哪里
故障一定出在运行服务器的笔记本电脑上,因为我无法在我的台式机和我的 iPhone 上访问服务器,后者去年与上一个项目一起工作,当时我没有我的台式机。
.
项目允许的主机列表
我已经添加了几个,因为我一直在尝试其他人推荐的不同解决方案。
ALLOWED_HOSTS = [
'*',
'0.0.0.0.',
'0.0.0.0:8000',
'localhost'
'localhost:8000'
'{laptop's IP address}',
'{desktop's IPv4 address}',
'{desktop's Default gateway}',
]
.
当我尝试在桌面或 iPhone 上访问本地主机时
笔记本电脑的终端中什么也没有出现,退出服务器帮助行仍然是最后一行。我记得去年,它会通过远程访问服务器的通知进行更新。
在桌面上,Firefox 告诉我它'无法连接',Edge 告诉我'localhost 拒绝连接'并带有'ERR_CONNECTION_REFUSED'。
在 iPhone 上,“无法连接到服务器”。
.
我在其他设备的 URL 地址栏中尝试过的内容
- 0.0.0.0:8000
- 本地主机:8000
- 本地主机:8000/管理员
- https://{笔记本电脑 IP 地址}
.
.
任何帮助,将不胜感激。
解决方案
要在本地网络上托管,请首先确保将您的 IP 地址添加ALLOWED_HOSTS
到settings.py
.
ALLOWED_HOSTS = ['192.168.1.X']
注意: 您的 IP 地址可以通过
ipconfig
在命令提示符下运行来定位
确保您也在runserver
ip address 上执行0.0.0.0:8000
。例如:
python manage.py runserver 0.0.0.0:8000
与其他设备连接时,将主机的 IP 地址和端口号放在浏览器中的 URL 中。像这样:
192.168.1.X:8000/<app_name>/other_pages
推荐阅读
- css - 文本下框阴影的 CSS
- vb.net - 在VB.net中自动删除文件时避免文件正在使用
- debugging - x64dbg 无法打开 exe 文件(但可以附加),为什么?
- scala - Scala:在编译时验证类参数不是 instanceOf 特征
- neo4j - 创建不会使所有节点和关系出现
- bash - 已解决:同时进行 Grep 和动态截断
- node.js - 将 Node.js 应用程序部署到 Render VPS 时路由不正确
- asp.net-core - ASP.NET Core React 模板获取访问令牌
- automake - 配置 autotools 以使用相同的目标文件来构建两个程序
- php - PHP获取标签之间的文本+标签本身