在本地WiFi网络上提供Django项目

Ali*_*Ali 4 python django

我用了

python manage runserver 0.0.0.0:8000

启动服务器,以便我可以从我的wifi网络上的其他计算机访问该项目,但当我浏览到另一台计算机上的internet-ipaddress:8000时,该项目无法加载.我错过了一个设置吗?

小智 9

假设所有机器都可以看到彼此......

获取正在运行runserver的计算机的IP地址.例如ifconfig ,在控制台上运行.

ifconfig

eth0      Link encap:Ethernet  HWaddr 10:1e:72:b8:2a:4b  
              inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
              ...
Run Code Online (Sandbox Code Playgroud)

检查您是否正在运行防火墙.例如

sudo ufw status
Run Code Online (Sandbox Code Playgroud)

如果处于活动状态,则需要打开端口8000,然后再次在控制台上运行

sudo ufw allow 8000/tcp
Run Code Online (Sandbox Code Playgroud)

然后启动runserver(如果使用django-extensions则运行runserver_plus)

python manage.py runserver_plus 192.168.1.2:8000
Run Code Online (Sandbox Code Playgroud)

在另一台机器上打开浏览器

http://192.168.1.2:8000/admin
Run Code Online (Sandbox Code Playgroud)

  • 你可以运行代码作为python manage.py runserver 0.0.0.0:8000,它仍然可以工作 (2认同)

Dan*_*man 6

你什么意思internet-ipaddress?这听起来像是在使用路由器的外部IP.您应该使用您所服务的特定机器的IP,这将是一个内部地址,如192.168.0.2.


inf*_*red 5

您应该将其绑定到本地IP地址.例如

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


Már*_*son 2

您应该查看PagekiteShow Off等解决方案,因为它们通常很容易设置,并提供很大的灵活性(和移动性),并为您的本地主机服务器提供稳定的域名。