从android手机调用Django服务器api

从android手机调用Django服务器api,android,python,django,api,Android,Python,Django,Api,我正在开发一个android应用程序。为了进行本地测试,我在笔记本电脑上创建了一个django服务器。我的问题是我无法从应用程序代码调用django API。例如,如果我想从桌面调用任何django服务器api,我会写“localhost:8000/polls/link/2/”。现在,如果从移动设备调用相同的api,如何替换这个“url的本地主机部分”。我的桌面也通过同一个移动热点连接到互联网。所以基本上桌面和手机都在同一个网络上。 桌面上的我的ifconfig命令显示 我的桌面是Mac,手机是

我正在开发一个android应用程序。为了进行本地测试,我在笔记本电脑上创建了一个django服务器。我的问题是我无法从应用程序代码调用django API。例如,如果我想从桌面调用任何django服务器api,我会写“localhost:8000/polls/link/2/”。现在,如果从移动设备调用相同的api,如何替换这个“url的本地主机部分”。我的桌面也通过同一个移动热点连接到互联网。所以基本上桌面和手机都在同一个网络上。 桌面上的我的ifconfig命令显示


我的桌面是Mac,手机是三星core duo

你能在手机浏览器上看到index.html吗

本地主机IP:8000

如果可以,那么一切都应该很好,如果不能,则存在配置问题

本地服务器上的网站是否可以从外部访问?


祝您好运

如果我正确理解了您的问题,您的笔记本电脑上安装了Django,您可以使用“localhost:8000/polls/link/2/”在本地点击特定的页面/服务,并且工作正常。现在您想从手机访问它。对吗

将“localhost”替换为笔记本电脑的IP地址。例如,“10.0.0.1:8000/polls/link/2/”

您将在系统首选项->网络中找到您的IP地址。您尝试过这个吗?
或者检查防火墙选项

manage.py runserver 0.0.0.0:8000

对于开发,您可以使用设备的内部IP地址

在终端: $ifconfig | grep inet

您将获得: inet地址:10.0.0.1。。。。。。将该ip用于django runserver

$python manage.py运行服务器10.0.0.1:8000

从android使用:


“”作为url字符串

,您必须设置多个内容,以便在本地网络上访问API

  • 转到终端,键入ifconfig并获取您的inet地址

  • 然后将此inet地址添加到project setting.py文件的allow_host中

  • 使用命令-->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
    

    首先通过键入python manage.py runserver 0.0.0.0:8000来运行django服务器。然后使用ifconfig命令检查专用网络的ip,即wlan ip,然后在调用API时用该ip替换本地主机文本


    但最重要的是要确保你的手机和lappy应该在同一个网络中。

    你提到的我都试过了。但我手机上的chrome无法打开桌面上的chrome所能打开的url。