如何在我的本地网络上制作 Django 网站 public?
How do I make Django Website public on my local network?
我正在用 Django 和 React 为自己和家人建立一个网站。每次我要求他们检查我的流程并征求他们的意见时,他们都会收到“未找到网页”错误或无法访问该网站。我该怎么做才能让本地网络上的任何人都可以在 运行 时查看我的页面。这是flask中默认的,我不明白为什么django会这样运行? (也许安全?)我找不到任何关于如何在主应用程序设置中的 ALLOWED_HOSTS 部分添加允许所有的好信息。
我也知道你可以添加IP地址,但我是菜鸟,我不了解如何在不做大量工作的情况下获取我所有家庭设备的IP地址?有人对此有好的解决方案吗??
如果所有人都在同一网络上,则 运行
python manage.py runserver 0.0.0.0:8000
ALLOWED_HOSTS = ['*']
但这不是你真正的问题。在网络上的其他计算机能够访问您的计算机之前,您很可能需要在本地计算机或路由器(或两者)的防火墙中打开端口。
Django 文档:
When DEBUG is True and ALLOWED_HOSTS is empty, the host is validated
against ['.localhost', '127.0.0.1', '[::1]'].
如果您处于调试模式且列表为空,或者处于非调试模式且列表为空,则局域网中的任何人都无法访问您的网站。
在这种情况下,因为您在局域网中,您可以使用:
ALLOWED_HOSTS = ['*']
然后运行
python manage.py runserver 0.0.0.0:8000
如果您在 LAN 中,则无需在路由器上打开任何端口,但可能需要在本地计算机上配置防火墙。
否则,建议使用 nginx 或 apache 等网络服务器。
很简单
- 如果是 windows,只需转到命令行并键入 ipconfig,如果是 linux
,则键入 ifconfig
- 记下您在本地网络上的 IP 地址
- 在 settings.py
允许的主机中写入该地址
- 运行命令pythonmanage.py运行服务器:
- 将任何设备连接到您的本地网络并在其浏览器中 window 输入服务器 ip:port 数量
例如 192.168.25.1:8080
我正在用 Django 和 React 为自己和家人建立一个网站。每次我要求他们检查我的流程并征求他们的意见时,他们都会收到“未找到网页”错误或无法访问该网站。我该怎么做才能让本地网络上的任何人都可以在 运行 时查看我的页面。这是flask中默认的,我不明白为什么django会这样运行? (也许安全?)我找不到任何关于如何在主应用程序设置中的 ALLOWED_HOSTS 部分添加允许所有的好信息。
我也知道你可以添加IP地址,但我是菜鸟,我不了解如何在不做大量工作的情况下获取我所有家庭设备的IP地址?有人对此有好的解决方案吗??
如果所有人都在同一网络上,则 运行
python manage.py runserver 0.0.0.0:8000
ALLOWED_HOSTS = ['*']
但这不是你真正的问题。在网络上的其他计算机能够访问您的计算机之前,您很可能需要在本地计算机或路由器(或两者)的防火墙中打开端口。
Django 文档:
When DEBUG is True and ALLOWED_HOSTS is empty, the host is validated against ['.localhost', '127.0.0.1', '[::1]'].
如果您处于调试模式且列表为空,或者处于非调试模式且列表为空,则局域网中的任何人都无法访问您的网站。
在这种情况下,因为您在局域网中,您可以使用:
ALLOWED_HOSTS = ['*']
然后运行
python manage.py runserver 0.0.0.0:8000
如果您在 LAN 中,则无需在路由器上打开任何端口,但可能需要在本地计算机上配置防火墙。
否则,建议使用 nginx 或 apache 等网络服务器。
很简单
- 如果是 windows,只需转到命令行并键入 ipconfig,如果是 linux ,则键入 ifconfig
- 记下您在本地网络上的 IP 地址
- 在 settings.py 允许的主机中写入该地址
- 运行命令pythonmanage.py运行服务器:
- 将任何设备连接到您的本地网络并在其浏览器中 window 输入服务器 ip:port 数量 例如 192.168.25.1:8080