从其他计算机访问Django应用程序

Jam*_*een 3 python django webserver localhost

我正在Django的本地计算机上开发一个Web应用程序.

现在我希望我的网络上的其他计算机可以访问我的webapp.我们有一个共同的网络驱动器"F:/".我应该将文件放在这个驱动器上,还是只需在命令提示符下写一些类似"python manage.py runserver test_my_app:8000"的内容,让网络中的其他计算机通过在浏览器中写入"test_my_app:8000"来访问Web服务器地址字段?我是否必须打开任何端口,我该怎么做?

Raj*_*mon 9

应该使用中央系统或服务器来完成.

默认情况下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

  • 不使用全球IP。只需输入manage.py runserver 0.0.0.0:8000并转到“run”>“cmd”>“ipconfig” | IP4地址。 (2认同)
  • 尝试连接时,您可能会收到“无效的 HTTP_HOST 标头”错误,您应该将其添加到允许的主机中,如 [this](http://stackoverflow.com/questions/40582423/invalid-http-host-header)问题解释了。 (2认同)

sre*_*ala 7

使用 IP 地址运行应用程序,然后在其他计算机上访问它。

python 管理.py runserver 192.168.56.22:1234

两台机器应该在同一个网络中,这样才可以工作。


YoK*_*oKe 7

只需将您自己的 IP 地址添加到 ALLOWED_HOSTS

ALLOWED_HOSTS = ['192.168.1.50', '127.0.0.1', '本地主机']

并运行您的服务器 python manage.py runserver 192.168.1.50:8000

并访问您自己的服务器到您网络中的其他计算机

  • 错误:无法分配该 IP 地址。 (4认同)

小智 6

这非常非常简单

python manage.py runserver 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)

更改setting.py

ALLOWED_HOSTS = ['*']
Run Code Online (Sandbox Code Playgroud)

打开Linux终端

sudo ifconfig
Run Code Online (Sandbox Code Playgroud)

获取inet ipv4地址在其他同一本地网络PC上运行


Nag*_*n S 5

只需 4 个步骤即可完成:

  1. 确保在 settings.py 中: ALLOWED_HOSTS = ['*']
  2. 使用以下命令运行服务器: python manage.py runserver 0.0.0.0:3000
  3. 进入Windows安全->防火墙和网络保护并完全关闭Windows防火墙。

现在,您可以使用以下 URL 在本地网络中访问您的 Django API:http:// Your-LAN-IP-address:3000/

  1. 现在我们必须打开端口 3000。访问http://192.168.1.1并登录到您的路由器。现在转到高级选项卡 -> NAT -> 虚拟服务器并单独填写以下字段:
  • WAN 端口 - 3000
  • LAN端口 - 3000
  • LAN IP 地址 - 检查您的机器

现在,您可以使用以下 URL 从任何地方访问您的 Django API: http:// Your-Public-IP-address:3000/