我正在开发一个Android应用程序。对于本地测试,我在笔记本电脑上创建了一个django服务器。我的问题是我无法从应用程序代码调用django apis。例如,如果我想从桌面调用任何django服务器api,我写“localhost:8000 / polls / link / 2 /”。现在如果从移动设备调用相同的api,如何替换这个“url的本地主机部分”。我的桌面也通过相同的移动热点连接到互联网。所以基本上桌面和手机都在同一个网络上。 我在桌面上的ifconfig命令显示
我的桌面是Mac,移动设备是三星核心二人组
答案 0 :(得分:3)
开发时,您可以使用设备的内部IP地址
终端: $ ifconfig | grep inet
你会得到: inet addr:10.0.0.1 ......使用ip与django runserver$ python manage.py runserver 10.0.0.1:8000
来自android使用:
“http://10.0.0.1:8000/”作为您的网址字符串
答案 1 :(得分:0)
你能在手机浏览器上看到index.html吗?
localhostIP:8000
如果可以,那么一切都应该没问题,如果没有,则存在配置问题,
您的本地服务器上的网站是否可以从外部访问? How to access the local Django webserver from outside world
祝你好运答案 2 :(得分:0)
如果我理解你的问题,你的笔记本电脑上安装了Django,你可以使用“localhost:8000 / polls / link / 2 /”在本地点击特定的页面/服务,它可以正常工作。现在您想通过手机访问它。正确的吗?
将“localhost”替换为笔记本电脑的IP地址。例如,“10.0.0.1:8000/polls/link/2 /”
您可以在系统偏好设置 - >中找到您的IP地址。网络
答案 3 :(得分:0)
您必须在本地网络上设置多个用于访问API的内容。
转到终端并输入ifconfig并获取您的inet地址。
然后在项目setting.py文件的allow_host中添加此inet地址。
使用命令--->启动服务器python manage.py runserver 0.0.0.0:8001或任何其他免费的端口。
我假设您的inet地址是192.168.1.10
然后转到您的浏览器并输入
192.168.1.10:8001/your_app_name/your_url_of_view
答案 4 :(得分:0)
首先通过输入python manage.py runserver 0.0.0.0:8000来运行django服务器。然后使用ifconfig命令检查你的专用网络的ip,即wlan ip,然后在调用API时用该ip替换你的localhost文本。
但最重要的是确保您的手机和lappy应该在同一个网络中。
答案 5 :(得分:-1)
你试试这个吗?
或检查防火墙选项。
manage.py runserver 0.0.0.0:8000