用Eclipse和PyDev開發Django 應用
已安裝了Python,Eclipse,PyDev和Django。
使用Eclipse 3.2,PyDev 1.2.4 Django 0.95 和Python 2.4
第一步,Window->Preferences->Preferences->PyDev->Python Interpretter
第二步,建立一個新的PyDev項目.並且把create src folder選項取消
第三步,通過命令列建立一個Django項目,例如:django-admin.py startproject mysite
第四步,把剛才django產生的程式碼copy到剛才用Eclipse建立的PyDev項目裡,並且建立一個src目錄。
第五步,在eclipse中重新整理這個項目。
第六步,按右鍵項目,在屬性中選擇PyDev,PYTHONPATH,然後將src目錄添加到項目代碼中去
這些做完後,開啟manage.py,然後按下F9,console中出現usage訊息,此時選擇
Run->Run…,在Arguments選項欄中給manage.py參數設定runserver–noreload.(此處是兩個短橫)
一切完成了,這時候就是要好好寫Django應用的時候了。
上面說的可能有點繞:其實可以直接建立django項目,然後配置一下runserver --noreload就可以了。
教程環境是最新的,以前的Django開發環境是曲線救國,不能直接產生Django工程,在開發的過程中會有少許不便。本文採用了Eclipse3.6+Pydev1.6.1,並參考了http://pydev.org/的官方文檔。
先決條件
要想使您的Pydev開發Django,您必須保證在使用它之前,已經在Python/Jython/IronPython 解譯器上已正確安裝過它,具體的安裝步驟請猛擊這裡。
必須指出的是,本教程不會教你Django做什麼,僅僅告訴你如何正確地把Django整合到Pydev環境下,所以,如果你還不知道Django是什麼,請先去學習一些它是如何工作的教程(提示:本網站已經有大量的文章來介紹Django了),然後再來看這篇文章,謝謝。 核心內容
在Django整合到Pydev的過程中,主要圍繞下面三個配置展開: 該項目必須在Pydev下標記為Django 項目。 'DJANGO_MANAGE_LOCATION' 字串變數必須指向該項目的相對路徑下的manage.py檔案。(註:產生項目後會在導航視圖下的.pydevproject中找到。) 'DJANGO_SETTINGS_MODULE'字串變數必須包含該項目工程下settings模組的名稱。
如果你想讓Django所有的行為都能Pydev下正常工作,那麼你就歹照做。不要著急,下一步我將告訴你如何配置它們。 建立一個Django工程
按下Ctrl+N ,選擇 Pydev Django Project 項目嚮導,建立一個基於Django 的工程。
該嚮導將會使用django-admin.py startproject來建立項目,然後它會通過Pydev設定屬性字串DJANGO_MANAGE_LOCATION指向manage.py路徑,並且讓DJANGO_SETTINGS_MODULE 指向settings模組。 在普通工程中整合Django
對於現有項目,你僅僅需要右擊項目,選擇'Pydev > Set as Django project'即可。
需要注意的是,DJANGO_MANAGE_LOCATION 和 DJANGO_SETTINGS_MODULE變數字串不會立即設定,但是Pydev會在需要執行動作之前提示你設定。 Django動作
想知道Pydev下的Django都包含了哪些操作,右擊項目"Django"配置,選擇Django > action。
當然你也可以使用另外的方法,就是通過Pydev編輯器擷取焦點[註:快速鍵容易失效,懂的請呼我,謝謝]: ctrl+2+dj <enter> 可以開啟一個包含輸入動作記錄的面板 ctrl+2+dj action_to_execute <enter> 顯示執行動作所經曆的步驟(例如 ctrl+2+dj help <enter>)
Pydev下Django與Shell互動
值得注意的是Shell with django environment 動作將在你的設定中建立一個Shell屬性配置,它提供pydev Shell預設的特性,諸如代碼編譯、顯示曆史、上下文提示(ctrl+1)、產生編輯器可執行檔等等(具體操作詳見互動平台)。
它能夠通過ctrl+2+dj shell(或者Pydev編輯器)啟用,或者右擊工程> Django > Shell with django environment。
運行/調試 Django
你可以運行和調試一個Django項目(註:它預設會設定--no-reload,否則當你通過Pydev關閉進程時debugger可能出現一些問題並導致某些進程沒有被殺死)。
這將建立一個預設的回合組態,所以,如果你想要改變一個參數的話,你可以稍後通過run > run configurations(或debug > debug configurations)來啟用。