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

本地环境React Native与Django Rest Framework连接及CORS配置问题

问题核心原因

你遇到的是React Native端调用本地服务端接口的常见场景问题,核心原因并非Django配置错误(你已经配置了允许跨域和所有Host),问题出在端侧的网络寻址和系统限制层面:

解决方案

1. 修正本地接口的地址指向

React Native运行在模拟器/真机上时,127.0.0.1指向的是当前运行RN应用的设备本身,而非你启动Django服务的开发电脑,需按场景替换地址:

  • Android模拟器:将地址替换为10.0.2.2,这是Android官方预留的指向宿主开发电脑的特殊地址,示例接口改为http://10.0.2.2:8000/api/sosyalmedya/
  • iOS模拟器:直接替换为开发电脑的局域网IP地址,比如你的电脑局域网IP为192.168.3.45,接口改为http://192.168.3.45:8000/api/sosyalmedya/
  • 真机测试:保证手机和开发电脑连接同一WiFi,同样使用开发电脑的局域网IP作为接口地址,同时关闭电脑防火墙对8000端口的访问限制。

2. 调整Django启动参数

默认python manage.py runserver只会绑定本地回环地址127.0.0.1,仅允许本机访问,需修改启动命令绑定所有网卡:

python manage.py runserver 0.0.0.0:8000

3. 处理Android高版本明文流量限制

Android 9(API 28)及以上版本默认禁止HTTP明文请求,本地服务通常未配置HTTPS,需做兼容配置:
在Android项目的android/app/src/main/AndroidManifest.xml的application标签中添加属性:

android:usesCleartextTraffic="true"

注:该配置仅用于开发阶段,生产环境请使用HTTPS接口,避免留下安全风险

验证步骤

修改完成后,先在运行RN应用的设备/模拟器自带的浏览器中输入调整后的接口地址,确认可以正常拿到返回数据后,再在RN代码中发起请求即可。

内容的提问来源于stack exchange,提问作者C D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:54:00