如何从Android平板电脑访问我的127.0.0.1:8000

don*_*yor 19 python django android localhost web

我正在开发django的网页(在我的电脑上使用Windows 7),现在我需要在平板电脑上测试一些页面.如果我可以从Android平板电脑访问Windows中的本地主机突然想到了.那可能吗?我在家里的两台设备都使用相同的wifi连接.

我在stackoverflow和其他地方读了很多关于这个问题的问题和答案,但没有一个给我一些具体的解决方案.

我有三星标签2 10.1与Android 4.0.4.

感谢任何帮助,谢谢

cwa*_*ole 20

所以,似乎有几个问题.大多数答案都解决的问题是"你如何连接到本地网络中的另一台服务器?" (或变体).有两个答案,您可以直接使用计算机的IP,或者您可以使用计算机的名称(您可能需要附加.local).例如,我的电脑是xavier.local.

第二个问题是你似乎在解决的问题是runserver无法通过网络上的其他计算机访问(这是你的实际问题).原因是默认情况下Django的runserver只会确认来自调用它们的机器的请求.这意味着默认设置将使您只能从Windows访问服务器(出于安全原因,他们是故意这样做的).为了让它听取其他请求,您有两种选择:

runserver 192.168.1.101:8000 
# Only handle requests which are made to the IP address 192.168.1.101
Run Code Online (Sandbox Code Playgroud)

或者(在处理多个环境时这会更容易):

runserver 0.0.0.0:8000 # handle all requests
Run Code Online (Sandbox Code Playgroud)

因此,如果您的IP地址是192.168.1.101:

runserver # only requests made on the machine will be handled
runserver 127.0.0.1 # only requests made on the machine will be handled
runserver 192.168.1.101 # handles all requests (unless IP changes)
runserver 192.168.1.100 # does not handle any requests (wrong IP)
runserver 0.0.0.0 # handles all requests (even if the IP changes)
Run Code Online (Sandbox Code Playgroud)

我认为重要的是要注意,0.0.0.0在处理本地开发机器时,这实际上不是一个安全问题.当使用可以从外部世界处理的机器处理大型应用程序时,它只会成为一个重大问题.除非你有端口转发(我这样做)或类似的东西,你不应该太在意.

  • 使用 `runserver 0.0.0.0:8000` 后,我仍然无法从安卓手机访问服务器。直接从开发机器(托管服务器的机器)访问 192.168.1.101:8000 可以工作。我在 Max OSX El 船长 (3认同)

小智 11

您可以ipconfig在Windows命令提示符中找到该命令的IP地址.由于您提到它们通过WiFi连接,因此请查找无线适配器的IP地址.

由于平板电脑也在同一个WiFi网络中,您可以在平板电脑的浏览器中输入该地址,并附上:8000,它应该拉起页面.

  • 我用特定的ip启动我的服务器解决了这个问题.``/manage.py runserver 193.140.209.49:8000`` (10认同)

小智 6

尽管此线程在很长时间以前就处于活动状态。这就是在Windows 10上对我有用的东西。对于像我这样的新手可能会有所帮助。

  1. 添加ALLOWED_HOSTS = ['*']Django settings.py文件
  2. 用运行django服务器python manage.py 0.0.0.0:YOUR_PORT。我用作9595我的港口。
  3. 设置防火墙以允许对该端口的访问:

    • 导航到控制面板 -> 系统和安全 -> Windows Defender防火墙

    • 打开高级设置,选择入站规则,然后右键单击它,然后选择新规则

    • 选择端口,单击下一步,输入您使用的端口(在我的情况下9595),单击下一步,选择允许连接
    • 再次点击下一步,然后给它命名,最后一次点击下一步。
  4. 现在找到您的PC的IP地址。

    • 以管理员身份打开Command Promt并运行ipconfig命令。
    • 您可能会找到多个IP地址。当我通过wifi连接时,我在无线LAN适配器WiFi下接了一个。就我而言192.168.0.100
    • 请注意,当您重新连接到网络时,此IP可能会更改。因此,您需要再次进行检查。
  5. 现在,从连接到同一网络的另一台设备(电脑,手机,平板电脑等)转到ip_address:YOUR_PORT(以我为例192.168.0.100:9595

    希望你会好起来的!


Dev*_*Zot 5

127.0.0.1是一个环回地址,大概是指"此设备"; 你的电脑和安卓平板电脑是独立的设备,因此它们每个都有自己的127.0.0.1.换句话说,如果您尝试在Android选项卡上转到127.0.0.1,它会尝试连接到Android设备上的网络服务器,这不是您想要的.

但是,您应该能够通过wifi连接.在Windows框中,打开命令提示符并执行"ipconfig".输出中的某个位置应该是您的Windows框的地址,可能是192.168.1.100或类似的东西.你的平板电脑应该能够在该地址看到te Django服务器.