【问题标题】:How do I make Django Website public on my local network?如何在本地网络上公开 Django 网站?
【发布时间】:2021-08-24 21:39:27
【问题描述】:

我正在用 Django 和 React 为自己和家人建立一个网站。每次我要求他们检查我的流程并征求他们的意见时,他们都会收到网页未找到错误或无法访问此站点。我该怎么做才能使我本地网络上的任何人都可以在我的页面运行时检查它。这是flask中的默认设置,我不明白django为什么会这样运行? (可能是安全的?)我找不到任何关于如何在主应用程序设置的 ALLOWED_HOSTS 部分中添加全部允许的好信息。

我也知道你可以添加IP地址,但我是菜鸟,我不知道如何在没有大量工作的情况下获取我所有家庭设备的IP地址??有没有人对此有好的解决方案??

【问题讨论】:

    标签: python django networking web-development-server


    【解决方案1】:

    如果都在同一个网络上,则运行

    python manage.py runserver 0.0.0.0:8000
    

    【讨论】:

    • 我做了,但是当我登录他们的机器并转到 0.0.0.0:8000 时我遇到了同样的错误我做错了吗??
    • 把你的ip像192.168.1.x你可以从网络接口信息中得到它
    【解决方案2】:
    ALLOWED_HOSTS = ['*']
    

    但这不是你真正的问题。您很可能需要在本地计算机或路由器(或两者)的防火墙中打开端口,然后网络上的其他计算机才能访问您的计算机。

    【讨论】:

      【解决方案3】:

      Django 文档:

      当 DEBUG 为 True 且 ALLOWED_HOSTS 为空时,验证主机 反对 ['.localhost', '127.0.0.1', '[::1]']。

      如果您处于调试模式且列表为空,或者处于非调试模式且列表为空,则 LAN 网络中的任何人都无法访问您的网站。

      在这种情况下,由于您在 LAN 中,您可以使用:

      ALLOWED_HOSTS = ['*']
      

      然后运行

      python manage.py runserver 0.0.0.0:8000
      

      如果您在 LAN 中,则无需打开路由器上的任何端口,但可能需要在本地计算机上配置防火墙。

      否则,建议使用 nginx 或 apache 之类的 Web 服务器。

      【讨论】:

      • 所以我必须部署 apache 之类的东西才能让他们在本地服务器上看到它??
      • 不一定。如果不使用 apache 之类的东西,你无法做到这一点,但如果你要将 Web 服务器公开到 Internet 或在生产环境中,建议使用(DEBUG=False,否则服务器将无法工作,也在 Django 文档中)。跨度>
      • 现在我只想让朋友和家人看看。当我运行 python manage.py runserver 0.0.0.0:8000 然后让他们去0.0.0.0:8000 他们仍然得到那个错误。我还禁用了我的防火墙和他们的防火墙。知道我做错了什么吗?
      • 问题是 0.0.0.0:8000 是您的本地主机 ip,他们必须从您的机器中引入您的 ipv4,例如 192.168.x.x。您可以在 cmd 中使用 ipconfig 在 windows 中检查您的 ipv4。或在这里:support.microsoft.com/en-us/windows/…
      • 因此,如果将来有人阅读此内容,您需要做的就是 ipconfig,然后在您设置的任何端口输入。所以它会是 :8000 或 10.0.0.21:8000
      【解决方案4】:

      很简单

      1. 只要去你的命令行,如果是windows,输入ipconfig,如果是linux,输入ifconfig
      2. 记下您在本地网络上的 IP 地址
      3. 在 settings.py 中的允许主机中写入该地址
      4. 运行命令 python manage.py runserver :
      5. 将任何设备连接到您的本地网络,并在其浏览器窗口中输入服务器 ip:端口号 例如 192.168.25.1:8080

      【讨论】:

        猜你喜欢
        • 2017-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多