React Native与Django服务器集成疑问:是否使用本地服务器URL?
React Native 与 Django 服务器集成的 URL 选择
能不能直接用http://127.0.0.1:8000/取决于你的测试环境,分以下几种情况:
可直接使用的场景
- iOS 模拟器:iOS模拟器和宿主电脑共享网络栈,
127.0.0.1直接指向本地运行的Django服务器,无需修改。
需要替换为其他地址的场景
- Android 模拟器:Android模拟器将自身的
127.0.0.1视为模拟器内部回路,无法访问宿主电脑的服务。需替换为http://10.0.2.2:8000/,这是Android模拟器预设的指向宿主电脑本地地址的专用别名。 - 真机测试(iOS/Android):真机与电脑不在同一个回路地址,必须使用电脑在局域网内的实际IP地址(比如
http://192.168.1.100:8000/,具体IP可通过电脑的网络设置查看)。同时需要做两个配置:- 修改Django项目的
settings.py,将电脑的局域网IP或0.0.0.0加入ALLOWED_HOSTS,比如:ALLOWED_HOSTS = ['192.168.1.100', '0.0.0.0'] - 启动Django服务器时指定监听所有网卡:
python manage.py runserver 0.0.0.0:8000
- 修改Django项目的
额外注意事项
- 确保电脑和测试设备处于同一WiFi网络,且关闭电脑防火墙(或允许Django服务的端口通行)。
- 开发阶段需处理跨域问题:安装
django-cors-headers包,在settings.py中配置中间件和允许的跨域源,比如开启CORS_ALLOW_ALL_ORIGINS = True(生产环境需限定具体源)。
内容的提问来源于stack exchange,提问作者Ali Hamza
相关产品推荐
相关产品推荐

