带有Django的本地网络域名

时间:2019-04-24 17:13:52

标签: python django router

我想在局域网(无线)中测试我的Django应用程序。我的应用程序由通过以太网连接到路由器的笔记本提供服务。我已经通过添加如下内容来编辑(Windows 10)主机文件:
127.0.0.1 mytest.com 192.168.1.8 mytest.com 0.0.0.0 mytest.com
我用runserver 192.168.1.8:8000从上面三个IP之一启动django服务器,很明显我在设置文件中添加了ALLOWED_HOSTS = ['127.0.0.1', '192.168.1.8', 'mytest.com', '0.0.0.0']
结果是,使用笔记本,我可以在浏览器中写入允许的主机之一,并且可以看到该应用程序。如果我确实尝试使用智能手机,则只有输入192.168.1.8:8000才能查看该应用程序。我的目标是在移动浏览器mytest.com:8000上输入数字并查看应用程序。我使用DHCP配置,但是如果需要,我当然可以手动设置静态IP。

1 个答案:

答案 0 :(得分:1)

您需要通过某种方式告诉智能手机 mytest.com应该解析为192.168.1.8。

对先前尝试的评论:

  • 主机文件记录仅影响添加了该文件的计算机。难怪智能手机无法正确解析网站。
  • 127.0.0.1是回送接口。如果智能手机将mytest.com解析为127.0.0.1,它将自行查找该网站。
  • 0.0.0.0表示“所有网络接口”。这将是无效的DNS记录。

如何实现您想要的目标:

  • 在DHCP设置中将桌面IP设置为网关。可能比custon DNS更容易
  • 如果路由器支持自定义DNS记录,则
  • 第二个最简单的选择。我无法就此提供具体建议,但至少某些较老的TPLink支持。只需浏览界面,即可在高级设置中查找与DNS相关的内容。
  • 如果路由器不支持自定义DNS记录,则可以在路由器上安装OpenWRT / DD-WRT。他们绝对支持。此选项需要对这些固件有所了解。
  • 在计算机上安装DNS服务器。然后,直接在智能手机上设置此DNS或将路由器配置为在DHCP公告中使用此本地DNS。

别忘了,在所有这些情况下,开发服务器都应该侦听适当的接口(设置取决于您正在运行的开发服务器;有关Windows的问题,请参见Django 0.0.0.0:80; can't access remotely