1

我正在開發一個使用visual studio 2015,python 2.7,django 1.9的django rest framework應用程序。我已經啓用了CORS。當我通過命令提示符運行它時,我可以從其他來源訪問它,如python manage.py runserver 0.0.0.0:8086。但是,在Visual Studio自動調試中,它運行在127.0.0.0上。我想配置visual studio在指定的ip上運行服務器(即0.0.0.0)。所以,調試將很容易。
我曾嘗試設置默認端口和地址從site-packages\django\core\management\commands\runserver.py
並且還能夠在項目的visual studio屬性中設置默認端口。但是,無法設置默認IP。如何將django項目的默認ip設置爲0.0.0.0以在Visual Studio 2015中進行調試?

任何人都可以幫助我配置ip 0.0.0.0作爲默認不是在Visual Studio中的默認值(127.0.0.1)。

在此先感謝。

+0

不知何故,我能夠通過修改'Runserver 0.0.0.0:%SERVER_PORT% $(CommandLineArguments)'屬性窗口中'Run Server Command'中的'Arguments'來解決問題。但是,我想這不是合適的解決方案。因爲重新調整它會產生異常。 – Amrendra

+0

你的解決方案對我來說聽起來很好。它有什麼問題? – Aya

+0

是的綾,時機罰款。但是,我想知道是否有任何方法可以在Visual Studio配置中的某處進行配置。所以,稍後如果我需要重新設置設置,它不應該產生任何問題。因爲它一旦修改就不接受以前的配置。 – Amrendra

回答

1

首先0.0.0.0不是IP。它代表「本地機器上的所有IPv4地址」。當您啓動開發服務器

./manage.py runserver 0.0.0.0:8086 

它將服務於127.0.0.1和任何其他IP地址,您已配置爲您的網絡接口(一個或多個)

同樣也可以對127.0.0.0不是服務器,因爲這是一個廣播地址。

如果您的計算機上配置了任何其他IP(例如192.168.1.1),則可以在您的局域網中的任何計算機上或在需要IP地址的Visual Studio中將其輸入到瀏覽器中。

+0

謝謝e4c5。但問題是,當我運行'runserver 9192'並嘗試訪問我的IP時,它顯示'連接到http://192.168.1.63:9192 /'時出現錯誤。可能還有其他問題,但我無法弄清楚。你能否介紹一下它可能會出現什麼問題? – Amrendra

+0

對不起,我的答案有錯字。更正 – e4c5

0

經過這麼多的鬥爭,我找到了一個解決方案,想與你分享。希望你會喜歡。 打開<your python location>\Lib\site-packages\django\core\management\commands\runserver.py並找到一個代碼,它處理self.addr
if not self.addr: self.addr = '::1' if self.use_ipv6 else '127.0.0.1' 它將默認地址設置爲127.0.0.1將其更改爲'0.0.0.0'。現在,如果你只用命令./manage.py runserver運行你的服務器,它將運行在0.0.0.0上,甚至可以從visual studio運行。

祝你好運。

相關問題