在iPhone上测试Django网站

12

非常抱歉提出这样一个初学者的问题,但我卡住了。我正在开始学习Web开发,想要使用Django runserver命令在本地主机上测试一些东西。 我想在我的iPhone上测试它。根据这个问题,我只需要将我的iPhone指向Windows 7的IP地址(通过ipconfig找到)。但当我尝试时,我会得到错误:“Safari无法打开页面,因为服务器停止响应”(超时)。

还有其他我需要做的事情吗?


也许这是个愚蠢的问题,但是iPhone是否连接在Wi-Fi上(与您的服务器在同一网络中)? - Kekoa
http://davidwilson.me/2013/08/18/Testing-Django-on-mobile-device-locally.html - Aseem
4个回答

16

除了使用正确的IP地址外,您的runserver命令还应该监听0.0.0.0(所有IP地址)。

runserver 0.0.0.0:8000

9

以下步骤适用于我在MAC OS 10.10.3上的操作:

  1. 运行命令:python manage.py runserver 0.0.0.0:8000
  2. 在终端窗口输入“ipconfig getifaddr en0”,返回IP地址为10.0.1.22
  3. 在iPhone / iPad上打开浏览器,输入链接"http://10.0.1.22:8000"

3
你需要使用 IP地址和端口号来运行 runserver,通常是 :8080 或者在运行服务器时出现的任何数字后面加上IP地址。
例如,如果 runserver 命令报告如下... http://127.0.0.1:8000/ 那么如果你的IP地址为 192.168.0.2 ,则使用如下地址... http://192.168.0.2:8000/ 如果出于某种原因需要手动设置端口,请使用 runserver [port]

请确保您的Win7防火墙设置不会限制访问。 - John Giotta
我已经添加了端口,但仍然出现相同的错误。我去了防火墙并几乎允许了所有内容,只是为了查看是否存在问题,但它仍然无法工作。还有其他我可以检查的吗? - emoore
1
实际上,我刚刚关闭了防火墙,但我的iPhone无法连接到服务器(出现了不同的错误)。 - emoore

0

对于可能遇到相同问题的Windows用户。

步骤1:运行python manage.py runserver 0.0.0.0:8000

步骤2:在您的Windows计算机的命令提示符上运行ipconfig

步骤3:在您的settings.py文件中将以下代码行更改为ALLOWED_HOSTS = ['*']

步骤4:在浏览器中输入http://,然后是您从步骤2中获得的IP地址,然后是冒号和端口8000,类似于(http://192.168.0.2:8000/),但IP地址应为您的计算机IP地址。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接