从其他计算机访问Django应用

28 投票
7 回答
46031 浏览
提问于 2025-04-18 18:50

我正在我的本地电脑上用Django开发一个网页应用。

现在我想让我的网页应用可以被网络上其他电脑访问。我们有一个共享的网络驱动器“F:/”。我应该把我的文件放在这个驱动器上,还是可以直接在命令提示符里输入“python manage.py runserver test_my_app:8000”,让网络上的其他电脑通过在浏览器地址栏输入“test_my_app:8000”来访问这个网页服务器?我需要打开什么端口吗?该怎么做呢?

7 个回答

5

这可以通过四个简单的步骤完成:

  1. 确保在settings.py文件中,设置ALLOWED_HOSTS = ['*']。
  2. 使用命令运行服务器:python manage.py runserver 0.0.0.0:3000。
  3. 打开Windows安全中心,找到防火墙和网络保护,然后完全关闭Windows防火墙。

到这里为止,你的Django API可以在本地网络中通过这个网址访问:http://你的局域网IP地址:3000/

  1. 现在我们需要打开3000端口。访问http://192.168.1.1,登录到你的路由器。接着找到高级选项卡,选择NAT,然后点击虚拟服务器,填写以下信息:
  • WAN端口 - 3000
  • LAN端口 - 3000
  • LAN IP地址 - 查看你的电脑的IP地址

到这里为止,你的Django API可以通过这个网址从任何地方访问:http://你的公网IP地址:3000/

6

这非常非常简单

python manage.py runserver 0.0.0.0:8000

在setting.py文件中进行更改

ALLOWED_HOSTS = ['*']

打开Linux终端

sudo ifconfig

获取inet ipv4地址
在同一个本地网络的其他电脑上运行

7

用IP地址运行这个应用程序,然后在其他机器上访问它。

你可以使用这个命令:python manage.py runserver 192.168.56.22:1234

确保这两台机器在同一个网络里,这样才能正常工作。

12

只需要把你自己的IP地址加到ALLOWED_HOSTS里就可以了。

ALLOWED_HOSTS = ['192.168.1.50', '127.0.0.1', 'localhost']

然后运行你的服务器,输入 python manage.py runserver 192.168.1.50:8000

这样你就可以在网络中的其他电脑上访问你自己的服务器了。

35

这应该通过一个中央系统或服务器来完成。

默认情况下,使用 manage.py runserver 启动的服务器不会允许绑定 IP 地址。

需要注意的是,默认的 IP 地址 127.0.0.1 只能在本机上访问,其他机器无法访问。如果想让你的开发服务器可以被网络上的其他机器看到,你需要使用它自己的 IP 地址(比如 192.168.2.1)或者使用 0.0.0.0 或者 ::(如果启用了 IPv6)。

如果你想在本地机器上检查,可以这样做:

python manage.py runserver 0.0.0.0:8000

然后去你网络上的其他电脑,访问你的 IP 地址,比如 192.168.1.24:8000

更新:

对于大约 1.10 版本的 Django,你需要把你的主机添加到 ALLOWED_HOSTS 中,具体可以查看 这里

撰写回答