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

时间:2013-06-14 20:24:52

标签: android python django web localhost

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

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

我有三星标签2 10.1与android 4.0.4。

感谢任何帮助,谢谢

9 个答案:

答案 0 :(得分: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

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

runserver 0.0.0.0:8000 # handle all requests

因此,如果您的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)

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

答案 1 :(得分:11)

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

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

答案 2 :(得分:5)

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

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

答案 3 :(得分:3)

虽然很久以前这个帖子很活跃。这在Windows 10上对我有用。详细发布。可能对像我这样的新手很有帮助。

  1. 在django ALLOWED_HOSTS = ['*']文件
  2. 中添加settings.py
  3. 使用python manage.py 0.0.0.0:YOUR_PORT运行django服务器。我使用9595作为我的端口。
  4. 使防火墙允许访问该端口:

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

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

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

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

    希望你会好起来的!

答案 4 :(得分:1)

如果两者都连接到同一网络,您只需在Android应用中提供服务器(在您的网络中)的IP地址即可。

答案 5 :(得分:1)

需要知道您机器的IP地址.. 确保您的两台计算机(平板电脑和计算机)都连接到同一网络

192.168.0.22 - 说出你的机器地址

这样做:

192.168.0.22:8000 - 来自平板电脑

就是这样!!!

答案 6 :(得分:0)

使用简单的EasyPHP DevServer 14.1进行测试。 诀窍是你必须先将你的本地IP地址添加到Apache服务器才能收听它。

右键单击托盘图标,转到"配置" - > "阿帕奇"在" httpd.config"

# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 127.0.0.1:80
Listen 192.168.0.201:80  <<-- ADD THIS LINE

然后转到您的控制面板并停用您的Windows防火墙或将您的智能手机/平板电脑IP地址添加到例外。

那就是它。我希望它有所帮助。

IP地址192.168.0.201可能与您的不同。 192.168.0.X

答案 7 :(得分:0)

我自己也在努力解决这个问题,我无法弄清楚它是什么,因为它在我的iPhone上完美运行,我决定调查问题并找到一个快速的解决方案。 我的本地计算机是Mac OSX 10.10+,一个选项就是启动Apache服务器,但这非常不方便 - 每次想要在Android设备上快速检查某些内容时更改DocumentRoot。除此之外,更改DocumentRoot是Mac OSX 10.10上a **的一个难点。

如果您想使用:

python -m SimpleHTTPServer
在您的Android上

执行此操作:

sudo python -m SimpleHTTPServer [ANY PORT YOU WANT, BUT NOT 8000]

我希望这会有所帮助。

cheerz -Pit

答案 8 :(得分:0)

尝试一下 python manage.py运行服务器 然后将平板电脑和系统都连接到同一wifi并浏览地址 例如:python manage.py runserver 192.168.0.100:8000 在平板电脑中,地址栏中的网址为