You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在安卓手机上访问Linux Mint本地Django开发服务器?

解决Django开发服务器无法被同局域网安卓设备访问的问题

问题背景

  • 本地使用Django开发网站,通过python manage.py runserver启动开发服务器,仅能在localhost(http://127.0.0.1:8000/)访问
  • 笔记本为Linux Mint系统,与安卓手机连接同一WiFi,查到笔记本WLAN IP为192.168.0.104,但访问192.168.0.104:8000时,笔记本和手机均提示连接被拒绝
  • 禁用Linux防火墙后问题依旧,手机直接访问笔记本IP时能看到Apache默认页

解决思路

1. 修改Django开发服务器绑定地址

默认runserver仅绑定127.0.0.1,仅本地可访问。要允许局域网设备访问,需绑定到所有网络接口或指定局域网IP:

  • 绑定所有接口:执行 python manage.py runserver 0.0.0.0:8000
  • 绑定指定局域网IP:执行 python manage.py runserver 192.168.0.104:8000

2. 更新Django的ALLOWED_HOSTS配置

Django会拒绝不在ALLOWED_HOSTS列表中的请求,需在项目的settings.py中添加笔记本局域网IP:

ALLOWED_HOSTS = ['192.168.0.104', 'localhost', '127.0.0.1']
# 开发环境可临时使用通配符简化配置:ALLOWED_HOSTS = ['*']

修改后重启开发服务器生效。

3. 再次确认防火墙规则

即使已禁用防火墙,仍需验证8000端口是否被允许:

  • 查看防火墙状态:sudo ufw status
  • 若防火墙处于激活状态,允许8000端口:sudo ufw allow 8000/tcp
  • 重启防火墙:sudo ufw reload
  • 可临时关闭防火墙测试:sudo ufw disable

4. 排查端口冲突

检查8000端口是否被其他程序占用:

  • 查看端口占用:sudo lsof -i :8000 或 sudo netstat -tulpn | grep 8000
  • 若端口被占用,可杀掉对应进程,或换端口启动Django:python manage.py runserver 0.0.0.0:8080,随后访问192.168.0.104:8080

5. 验证局域网连通性

  • 用ip a命令重新确认笔记本的WLAN IP(替代ifconfig,更适配新Linux系统)
  • 在笔记本上ping手机的局域网IP,或在手机端用终端工具ping笔记本IP,确认两者可互通

6. 路由器设置排查(最后尝试)

  • 部分路由器的AP隔离/客户端隔离功能会阻止同WiFi设备互访,进入路由器管理后台(通常为192.168.0.1或192.168.1.1),关闭该功能
  • 确认路由器未拦截8000端口的数据包

内容的提问来源于stack exchange,提问作者Michael Romanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 13:05:28