2011-08-05 36 views
1

我使用Eclipse與PyDev開發Django Web應用程序。我可以啓動我的網絡服務器Django:如何重新啓動網絡服務器,以便應用源代碼中的更改

python manage.py runserver 

然後我可以在我的瀏覽器本地測試我的web應用程序。然而,每次我改變源代碼時,我都必須重新啓動eclipse,以便將這些更改應用到我的web應用程序中。

我想我必須以某種方式重新啓動Web服務器,以便我的源代碼被再次解釋,以便我的更改得到應用。但我該怎麼做?我無法找到任何命令這樣做。

+0

你有一個代碼更改後試圖F5?這對我行得通。有或沒有月食。 – Jeune

+0

是的,我試過了! –

回答

5

當python代碼更改時,Django dev服務器自動重新啓動它。如果你有noreload選項

./manage.py的runserver --noreload

當服務器不會自動重新加載時不使用Django的文件變化的另一種情況運行它,這可能不是發梗。例如,如果你的admin.py中有語法錯誤,django將不會使用它。並改變它不會重新啓動服務器。 請記住,如果你使用eclipse調試,你將不得不使用noreload運行django,因爲這個bug不會重新啓動實例,而是會啓動一個新的實例。

3

首先,將項目配置爲eclipse中的django項目,如果尚未如此。 (右鍵單擊項目,然後選擇PyDev - > Set as Django Project)。

其次,點擊頂部的綠色運行按鈕,然後選擇「運行配置」。選擇PyDev Django圖標並點擊頂部的新啓動配置按鈕。爲主模塊輸入項目名稱(假設testproject)和「$ {workspace_loc:testproject}/$ {DJANGO_MANAGE_LOCATION}」。

在Arugments選項卡上,如果希望服務器對於您之外的計算機可見,請輸入「runserver 0.0.0.0:8000 --noreload」;如果只希望在您的計算機上訪問,請輸入「runserver --noreload」 ,並將工作目錄更改爲「$ {workspace_loc:}」。

點擊申請,你應該設置去!

下面是它應該是什麼Eclipse中運行時,如: enter image description here

+0

你告訴我我應該通過' - noreaload',但llian lliev說完全相反!或者我在這裏得到什麼? –

+1

當你在eclipse中作爲pydev運行配置運行時,你需要「--noreload」,因爲當runserver以autoreload模式運行時,它會啓動pydev無法控制的另一個進程(並且不會捕獲輸出控制檯窗口)。 –

+1

這確實意味着,當你做出改變時,你在eclipse中重新啓動(點擊紅色方塊)。您應該看到該應用程序正在控制檯窗口中運行。 –

相關問題