Django学习过程中一般都是在本机上使用 manage.py runserver 命令启动开发用HTTP服务器,使用本机浏览器访问此服务器。那么如果需要在联网的其他电脑上访问这个Django服务器,则需要额外做一些设置,否则会显示无法连接或连接失败等错误。
1.确认Django的开发服务器正在监听公共IP地址和端口。
在运行Django开发服务器时,默认情况下它只会监听本地IP地址(127.0.0.1)IP和一个随机分配的端口。你需要将其配置为监听公共IP地址。
python manage.py runserver 0.0.0.0:8000
运行开发服务器时,也可以使用以下命令来指定IP和端口:如运行8003端口
注意:下面是更改的本地IP地址(127.0.0.1)的8003端口,要通过终端修改公共IP地址的8003端口:
IP地址 127.0.0.1 是一个特殊的IP地址,被称为本地回环地址(Loopback Address)或环回地址。它是用于在本地计算机上进行网络通信的特定地址。
当计算机使用 127.0.0.1 地址时,它实际上是在与自身进行通信。这在开发和测试网络应用程序时非常有用,因为它允许应用程序在没有真实网络连接的情况下进行自我测试。通常,当你在本地计算机上运行服务器软件(如Web服务器)时,可以将其绑定到 127.0.0.1 地址,以便通过浏览器或其他客户端访问该服务器。(见末尾比较)
2.配置防火墙
Windows(使用Windows防火墙):
- 打开防火墙高级安全性:
- 在Windows搜索框中键入“防火墙”,打开“Windows Defender 防火墙”。
- 在左侧面板中,点击“高级设置”。
- 创建新的入站规则:
- 在右侧面板中,点击“入站规则”。
- 在左侧面板中,点击“新建规则”。
- 选择“端口”选项,点击“下一步”。
- 选择“特定的本地端口”选项,并指定要打开的端口号(例如,8000),点击“下一步”。
- 选择“允许连接”选项,点击“下一步”。
- 选择适用的网络配置,点击“下一步”。
- 输入规则名称和描述,点击“完成”。
3.配置允许的主机
默认情况下,Django只允许来自本地主机的连接。要允许外部主机的连接,你需要在Django的设置文件(settings.py
)中进行相应的配置。
- 将
ALLOWED_HOSTS
设置为['*']
可以允许来自任何主机的连接,在settings.py
文件中,将以下行添加到适当的位置:
ALLOWED_HOSTS = ['*']
- 如果你只想允许特定的主机访问,可以将
ALLOWED_HOSTS
设置为一个主机列表,例如:
注意:
(1)必须先添加自己主机ip //cmd中输入ipconfig, IPv4 地址 . . . . . . . . . . . . : 192.168.1.105
(2)同一局域网下的ip不需要再添加了,自动访问