簡體   English   中英

如何在我的本地網絡上公開 Django 網站?

[英]How do I make Django Website public on my local network?

我正在為自己和家人在 Django 和 React 中建立一個網站。 每次我要求他們檢查我的流程並征求他們的意見時,他們都會收到網頁未找到錯誤或無法訪問此站點。 我該怎么做才能讓我本地網絡上的任何人都可以在我的頁面運行時檢查它。 這是flask中的默認值,我不明白為什么django會這樣運行? (可能是安全的?)我找不到任何關於如何在主應用程序設置的 ALLOWED_HOSTS 部分中添加全部允許的好信息。

我也知道你可以添加 IP 地址,但我是菜鳥,我不知道如何在沒有大量工作的情況下獲取我所有家庭設備的 ip 地址? 有沒有人對此有很好的解決方案?

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 中,則不需要打開路由器上的任何端口,但可能需要在本地計算機上配置防火牆。

否則,建議使用 web 服務器,如 nginx 或 apache。

如果所有人都在同一個網絡上,則運行

python manage.py runserver 0.0.0.0:8000
ALLOWED_HOSTS = ['*']

但這不是你真正的問題。 您很可能需要在本地計算機或路由器(或兩者)的防火牆中打開端口,然后網絡上的其他計算機才能訪問您的計算機。

這很簡單

  1. 只需 go 到您的命令行並輸入 ipconfig 如果它的 windows 和 ifconfig 如果它是 linux
  2. 記下本地網絡上的 ip 地址
  3. 在 settings.py 中的允許主機中寫入該地址
  4. 運行命令 python manage.py runserver:
  5. 將任何設備連接到您的本地網絡並在其瀏覽器中 window 類型的服務器 ip:端口號 例如 192.168.25.1:8080

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM