2017-06-17 102 views
0

上訪問我想設置我的電腦和智能手機都可以,而我的網絡上通過WiFi訪問Django開發服務器Django開發服務器。設置,可以通過其他設備我的網絡

我已經設置了,我的電腦可以在http://127.0.0.1:8000/訪問開發服務器。但是,我的其他設備不能。

Django的文件說:

「需要注意的是默認的IP地址,127.0.0.1,是不是從網絡上的其他計算機訪問使您的開發服務器查看到其他機器在網絡上,利用其自己的IP地址(例如192.168.2.1)或0.0.0.0或::(啓用IPv6)。「

我發現我的「公共IP地址」,並試圖通過: python manage.py runserver xx.xx.xxx.x(這是我的公共IP地址),但我得到一個「命令錯誤:'xx.xx.xxx.x'不是有效的端口號或地址:端口對。「

然後我試着用:8000之後的IP地址,但得到一個錯誤「錯誤:不能分配IP地址」。

那麼Python manage.py的runserver 0.0.0.0:8000。命令行報告「正在開始開發服務器...」,但是當我在Chrome上嘗試「http://0.0.0.0:8000/」時,出現「此站點無法到達錯誤」。

有什麼事情跟我的windows防火牆設置? 請問你能有人幫我嗎?謝謝!

+0

嘗試使用http://xx.xx.xxx.x:8000。你也有兩個Django服務器同時運行嗎?你能發佈你正在得到的確切錯誤嗎? – elena

+0

嗨@elena,我的開發服務器設置爲0.0.0.0:8000,我剛剛嘗試過http://xx.xx.xxx.x:8000,但Chrome頁面只是「思考」,沒有結果或錯誤。我只有一臺Django開發服務器在運行 - 我在命令行嘗試另一個python命令之前停止了它。我已經更新了我原來的帖子,確切的錯誤。有任何想法嗎?謝謝你的幫助。 – Mark

回答

0

0.0.0.0不是一個真正的地址,它是一個佔位符,只是說服務器沒有綁定到特定的IP。

如果你在127.0.0.1上運行,它只會回答那些發往127.0.0.1的查詢,所以只有localhost。

使用您的私有地址(192.168.0.x的最常見),它只會回答查詢到這個地址(所以用127.0.0.1不應該工作打開,但有時也取決於實現)

所以,如果你使用0.0.0.0,它會回答任何事情。

TL; DR:使用0.0.0.0和使用連接:

  • 127.0.0。1從該計算機

  • 您的計算機的局域網

  • 你的公網IP爲您的局域網之外的計算機內的私有IP地址的其他計算機。請注意,這將需要您的路由器上的其他配置

+0

嗨,謝謝你解釋。我只是GOOGLE瞭如何找到我的電腦的私人IP地址。我在命令行上使用命令「ipconfig」來獲得我的「IPv4地址」,它是192.xxx.x.xxx。 (不是168.0.0.x)。所以在0.0.0.0:8000的時候啓動了開發服務器,我在我的智能手機上試了我的192.xxx.x.xxx地址。它給了我一個長長的Django外觀錯誤,從「禁止主機在/ ...」開始。與建議的解決方案將我的私人IP地址添加到「Allowed_hosts」。我會盡快解決如何做到這一點...... – Mark

+0

我將我的計算機的私有IP地址作爲字符串添加到了settings.py文件的允許主機的空白列表中。問題解決了!謝謝 :) – Mark

0

您需要使用本地IP地址不公開。 您可以通過鍵入在cmd中下面的命令得到窗機的本地IP:ipconfig

在Linux類型的終端如下:ifconfig

IP地址將是這樣的形式192.168.0.101的[例]

因此,在手機的瀏覽器類型:192.168.0.101:8000

相關問題