如何让Django搭建的网站IP转为可公开访问的链接?
Django站点实现跨设备访问的基础方案
局域网内访问配置
- 启动开发服务器时,绑定所有网络接口:
运行命令python manage.py runserver 0.0.0.0:8000
解释:0.0.0.0会让Django监听主机上所有可用的网络接口,而非仅本地回环地址127.0.0.1。 - 获取主机的局域网IP:
- Windows:打开命令提示符输入
ipconfig,找到「以太网适配器」或「WLAN」下的「IPv4地址」 - Linux/macOS:终端输入
ip addr或ifconfig,找到对应网卡的inet地址
- Windows:打开命令提示符输入
- 同一局域网内的设备,在浏览器输入
[你的主机局域网IP]:8000即可访问站点。
解决防火墙拦截
- Windows:打开「Windows Defender防火墙」→「高级设置」→「入站规则」,新建规则允许端口8000通过,或者直接放行
python.exe的网络请求。 - Linux(以Ubuntu为例):终端运行
sudo ufw allow 8000开放8000端口。 - macOS:打开「系统设置」→「网络」→「防火墙」→「选项」,添加
python并允许其接收连接。
公网访问(外网设备也能访问)
开发阶段快速实现公网访问可以用端口转发工具:
- 安装
ngrok后,终端运行ngrok http 8000,工具会生成一个临时公网链接(比如https://xxxx-xx-xx-xx-xx.ngrok.io),任意设备通过这个链接就能访问你的站点。 - 注意:生产环境绝对不能用Django自带的开发服务器,需要部署到云服务器,搭配Nginx+Gunicorn/uWSGI这类生产级服务。
内容的提问来源于stack exchange,提问作者Pryanshu Kashyap
相关产品推荐
相关产品推荐

