如何使用某些自定义域在我的环境中的其他设备上访问我的 Django 应用程序?

How do I access my django app on other devices in my environment using some custom domain?

我有一个 django 应用程序,我在我的系统上本地托管,现在由于其他设备已连接并且与我的 django 应用程序位于同一本地网络,他们也可以通过键入 ipaddress:port 我的 django 应用主机设备。

但我希望这些设备也能使用一些域名访问我的 django 应用程序,但它不起作用。这是我尝试过的。

编辑了 windows 上的主机文件并添加了

127.0.0.1 anythingyoulike.com 
127.0.0.1 www.anythingyoulike.com
127.0.0.1. blog.anythingyoulike.com 

将我们的自定义域添加到 settings.py

上允许的主机
ALLOWED_HOSTS = ['www.anythingyoulike.com', 'blog.anythingyoulike.com', 'anythingyoulike.com']

但是我的热点网络上的其他设备无法使用这些域名访问,只有我托管我的 django 网站的设备才能访问它。

注意 : 还有 Android 移动设备我想在本地环境中使用域名访问

您可以使用 Visual studio 与合作伙伴一起编写代码 Visual studio 具有在一个代码中工作多个编码器的功能

如果您想成为服务器并分享您的代码输出,请与您的朋友连接一个 wifi 并为您 settings.py

settings.py

ALLOWED_HOSTS="Your connected wifi's ip"

和运行你的服务器喜欢

windows: python manage.py 运行服务器 ip:8080

mac 和 linux:python3 manage.py 运行服务器 ip:8080

首先传递您允许的主机网址

1. ALLOWED_HOSTS = ['www.anythingyoulike.com',
   'blog.anythingyoulike.com', '127.0.0.1', 'anythingyoulike.com']

然后

ROOT_URLCONF = 'project.urls'
ROOT_HOSTCONF = 'project.hosts'
DEFAULT_HOST = 'www'
PARENT_HOST = 'anythingyoulike.com'
HOST_PORT = "8000"

对我有用

我觉得这里有点混乱。如我所见,您已将所需的域名附加到完全正确的 ALLOWED_HOSTS

之后您更新了服务器(您的笔记本电脑)上的 hosts 文件。这使服务器能够将给定的域名转换为 localhost (127.0.0.1),因此您可以使用服务器本身的域访问您的 django 应用程序。

问题是客户端(android 设备在你的情况下)仍然不知道他们必须将这些域名转换为主机的 ip 地址。换句话说,您必须更新客户端上的 hosts 文件,而不是服务器上的。为此,我建议您查看以下链接:

How to modify the hosts file on your Android device

How to edit 'etc/hosts' file in non-rooted phone

希望对您有所帮助:)