如何在我的电脑上托管一个 Django 网站并在另一台电脑上查看它?
How to host a django website in my pc and view it in another pc?
我的电脑里有一个 django 项目。
在终端我 运行 python3 manage.py runserver <my ipaddress>:8001
当我尝试在另一台电脑上打开 link 时,显示错误页面:
Invalid HTTP_HOST header: '<my ipaddress>:8001'. You may need to add '<my ipaddress>' to ALLOWED_HOSTS.
我该怎么办?
此外,是否可以在 url 中用一些文本代替 ipaddress?
例如,我想将其托管为 myproject/
而不是那个复杂的 url.
不是将 <my-ip-address>
传递给 runserver
命令,而是传递 0.0.0.0
.
如果两台机器都在同一个网络中,你可以运行在0.0.0.0 IP地址上申请(指本地机器上的所有IPv4地址)。有关详细信息,请参阅此 link wiki 0.0.0.0。因此,在应用程序服务器 运行 上:
manage.py runserver 0.0.0.0:8001
现在,从其他机器上,使用 http://youripaddresss:8001 访问它,其中 < youripaddress > 是您机器的实际 IP 地址。
在一种情况下这会起作用
if both computers are on the same network like local Hotspot or same
LAN network
步数:
- 在允许主机的 django 项目设置文件中添加“*”,它看起来像
ALLOWED_HOSTS = ['*']
- 运行 你的服务器在这个 ip
0.0.0.0
和端口任何类似 8000
使用这个命令
manage.py runserver 0.0.0.0:8000
运行 ifconfig
如果你使用 linux ipconfig
如果 windows 那么你将得到你的服务器的 IP 地址
在另一台电脑打开浏览器,输入第3步显示的服务器ip,端口为8000
运行 你的服务器用这个命令 python manage.py runserver 0.0.0.0:8000
然后,您可以使用 URL 之类的 192.168.0.1:8000
从任何连接到您的 wifi 的系统访问您的网站
您可以在 windows 中的 CMD ipconfig
和 mac 中的 ifconfig
中使用此命令获取您的 IP Address
同时将您的 IP
添加到 setting.py
中的 ALLOWED_HOSTS
如果两台电脑不在同一网络(本地热点或局域网)
You can use ngrok to view whatever is running on your localhost from any device
使用 ngrok 从任何设备查看您的 django 项目
按照以下步骤操作:
- 在您的 Django 项目的设置文件中的允许主机中添加“*”:
ALLOWED_HOSTS = ['*']
从官网下载ngrok
解压下载的文件,然后通过终端进入ngrok文件所在的目录
然后输入命令:
ngrok http 8000
或
./ngrok http 8000
- 现在你可以在任何设备上打开ngrok生成的url来查看你电脑上的运行:
https://randomly_generated_subdomain.ngrok.io
PS: 这也可以用于本地的任何网络服务器 运行,而不仅仅是 django 站点
ngrok 是一个很棒的工具,可用于:
- 运行 在家中的个人云服务
- 无需部署的演示网站
- 在您的开发机器上构建 webhook 消费者
- 测试连接到本地 运行 后端的移动应用程序
- 现场部署的连接设备的稳定地址
ALLOWED_HOST = ['*'] 在你的 settings.py
python manage.py 运行服务器 0.0.0.0:8000
然后确保您的计算机防火墙允许传入和传出流量。
我使用 linux 机器,所以从控制中心转到防火墙并允许传入和传出。
然后在您的本地网络机器上。
:8000
就是这个!
为我工作
我的电脑里有一个 django 项目。
在终端我 运行 python3 manage.py runserver <my ipaddress>:8001
当我尝试在另一台电脑上打开 link 时,显示错误页面:
Invalid HTTP_HOST header: '<my ipaddress>:8001'. You may need to add '<my ipaddress>' to ALLOWED_HOSTS.
我该怎么办?
此外,是否可以在 url 中用一些文本代替 ipaddress?
例如,我想将其托管为 myproject/
而不是那个复杂的 url.
不是将 <my-ip-address>
传递给 runserver
命令,而是传递 0.0.0.0
.
如果两台机器都在同一个网络中,你可以运行在0.0.0.0 IP地址上申请(指本地机器上的所有IPv4地址)。有关详细信息,请参阅此 link wiki 0.0.0.0。因此,在应用程序服务器 运行 上:
manage.py runserver 0.0.0.0:8001
现在,从其他机器上,使用 http://youripaddresss:8001 访问它,其中 < youripaddress > 是您机器的实际 IP 地址。
在一种情况下这会起作用
if both computers are on the same network like local Hotspot or same LAN network
步数:
- 在允许主机的 django 项目设置文件中添加“*”,它看起来像
ALLOWED_HOSTS = ['*']
- 运行 你的服务器在这个 ip
0.0.0.0
和端口任何类似8000
使用这个命令
manage.py runserver 0.0.0.0:8000
运行
ifconfig
如果你使用 linuxipconfig
如果 windows 那么你将得到你的服务器的 IP 地址在另一台电脑打开浏览器,输入第3步显示的服务器ip,端口为
8000
运行 你的服务器用这个命令 python manage.py runserver 0.0.0.0:8000
然后,您可以使用 URL 之类的 192.168.0.1:8000
从任何连接到您的 wifi 的系统访问您的网站
您可以在 windows 中的 CMD ipconfig
和 mac 中的 ifconfig
中使用此命令获取您的 IP Address
同时将您的 IP
添加到 setting.py
ALLOWED_HOSTS
如果两台电脑不在同一网络(本地热点或局域网)
You can use ngrok to view whatever is running on your localhost from any device
使用 ngrok 从任何设备查看您的 django 项目
按照以下步骤操作:
- 在您的 Django 项目的设置文件中的允许主机中添加“*”:
ALLOWED_HOSTS = ['*']
从官网下载ngrok
解压下载的文件,然后通过终端进入ngrok文件所在的目录
然后输入命令:
ngrok http 8000
或
./ngrok http 8000
- 现在你可以在任何设备上打开ngrok生成的url来查看你电脑上的运行:
https://randomly_generated_subdomain.ngrok.io
PS: 这也可以用于本地的任何网络服务器 运行,而不仅仅是 django 站点
ngrok 是一个很棒的工具,可用于:
- 运行 在家中的个人云服务
- 无需部署的演示网站
- 在您的开发机器上构建 webhook 消费者
- 测试连接到本地 运行 后端的移动应用程序
- 现场部署的连接设备的稳定地址
ALLOWED_HOST = ['*'] 在你的 settings.py
python manage.py 运行服务器 0.0.0.0:8000
然后确保您的计算机防火墙允许传入和传出流量。 我使用 linux 机器,所以从控制中心转到防火墙并允许传入和传出。 然后在您的本地网络机器上。 :8000
就是这个! 为我工作