From: http://blog.csdn.net/u013088062/article/details/50158239
From: http://blog.csdn.net/u013088062/article/details/50246781
From: http://blog.csdn.net/u013088062/article/details/50221825
最全Pycharm教程(8)——Django工程的創建和管理
最全Pycharm教程(12)——Pycharm調試器之Java腳本調試
- 創建新工程
- 新工程解析
- 數據庫配置
- 創建MVC
- 代碼部署
- 調試JAVA腳本
創建新工程
1、主題
這部分教程主要介紹如何通過Pycharm創建、管理、運行一個Django工程。
Django是一個開放源代碼的Web應用框架,由Python寫成。采用了MVC的軟件設計模式,即模型M,視圖V和控制器C。
2、准備工作
(1)Pycharm為3.0或者更高版本。
(2)電腦上至少安裝了一個Python解釋器,2.4到3.3版本均可。
這部分教程所用的環境配置如下:
(1)Django模塊的版本為1.6.5
(2)默認為Windows模式下的快捷鍵配置
(3)這部分例子與Django模塊的說明文檔中所用的實例相同Django documentation
3、創建一個新工程
實際上所有工程的創建都可以通過單擊Welcome screen界面上的Create New Project按鈕來實現。
如果你已經打開了一個工程,可以通過菜單欄File → New Project...來創建一個新的工程。接下來在 Create New Project dialog對話框中輸入工程名字、選擇類型以及用到的解釋器版本:

單擊OK,工程的個性化設置完成。
這就意味着對應目錄已經創建完成,並且預先定義了一個.idea目錄用來保存配置信息project settings。
對於一個空的工程empty project,創建的環節已經完成了。接下里你就可以開始編寫程序。但對於一些所支持的第三方框架,還有一些工作要做。
根據所選擇的工程類型,Pycharm會提示我們進行一些額外的框架設置。
在本實例中,讓我們來創建開發一個Django應用。
4、創建一個Django工程
因此,在Create New Project對話框中我們的工程類型選擇為Django,注意Pycharm會提示我們安裝Django框架,如果當前環境中沒有可用的話。
接下來我們進行Django工程的相關設置:

單擊OK,設置完成。
新工程解析
5、工程目錄結構
正如上面所說,工程的根目錄結構已經創建完成,主要包含基本的框架配置文件和目錄,當你創建其他類型的工程時也會有類似操作,如Pyramid, 或者Google App Engine。
接下來我們研究如何在Project窗口中顯示工程結構。
這是默認顯示模式。窗口中將會顯示的結構有polls(Application Name)和 MyDjangoApp(Project Name)目錄,當然還有兩個Python文件:manage.py 和 settings.py。
在這個窗口中你是無法看到.idea目錄結構的。

7、Project窗口下的工程文件
如果你想看到 idea目錄,只需選擇view Project Files模式,這個視圖所顯示的文件和之前一樣,只是多了idea目錄:

Ok,回到之前的視圖模式。
8、Project窗口中所顯示的文件都是干什么用的?
(1)untitled目錄是工程的容器,在窗口中以加粗字體顯示。 (2)manage.py是一個命令行文件,幫助你操作你的Django工程,詳見product documentation (3)嵌套子目錄 MyDjangoApp 充當了當前工程的庫 (4)MyDjangoApp/_init_.py是一個空文件,用來指示當前目錄應該作為一個庫來使用。 (5)MyDjangoApp/settings.py包含了當前工程的相關設置configuration for your Django project (6)MyDjangoApp/urls.py包含了當前工程響應的url信息URL declarations for your Django project (7)MyDjangoApp/wsgi.py定義了WSGI兼容模式下Web服務器的入口,詳見How to deploy with WSGI (8)polls目錄下包含了完善Django應用的所有文件(此時為空): polls/_init_.py指示當前目錄應該作為一個庫來使用 polls/models.py保存我們所創建的應用程序模型 polls/views.py保存我們的views (9)templates為空,用以包含響應的模板文件
值得一提的是你可以創建很多Django應用,通過運行manage.py文件的startapp任務來將其添加到當前工程中(主菜單上的Tools→Run manage.py task)命令。
數據庫配置
9、配置數據庫
根目錄生成后,我們需要做一些微調。打開文件settings.py(選中后按F4)。
首先確定准備在應用程序中使用哪種數據庫。
可以通過以下方法定位DATABASES變量:按下Ctrl+F,
然后在搜索欄中輸入需要查找的字符串,
然后在'ENGINE'行的冒號后邊輸入使用的數據庫管理系統(這里暫且設置為sqlite3)。
在'NAME'行,輸入預定義數據庫的名稱(無論其是否已經存在):

10、加載Django服務
由於我們在這里處於謹慎選擇了sqlite3數據庫。因此這里無需再定義其他變量(如用戶證書、端口號、POST文件等)。
接下來我們核實一下我們的設置是否正確,做法相當簡單,至於要加載並運行 manage.py文件:按下Ctrl+Alt+R,在彈出的消息框中輸入任務名稱:

11、創建一個模型
接下來,打開並編輯(open for editing)models.py文件,注意此時Pycharm已經實現導入好了相關庫,然后鍵入以下代碼:

事實上直接對上述代碼進行復制粘貼即可,不過這里推薦大家手動輸入以體會Pycharm強大的拼寫提示功能:

12、創建一個數據庫
接下來我們需要為新建模型添加一個表單。再次使用Ctrl+Alt+R快捷鍵:
(1)首先從提示列表中選擇sql,然后選擇預期的應用名稱:

這條命令會為當前類自動添加SQL聲明:

(2)在提示列表中選擇syncdb語句,在提示列表中進行列表的創建,顯示結果如下:

13、完善管理控制函數
由於我們需要對應用進行賬戶管理,Pycharm已經在urls.py文件中定義好了相關命令。
然而,我們需要編輯函數的admin功能。在polls文件夾下創建一個admin.py的文件(Alt+Ins),然后輸入一下代碼:

再次展示一下Pycharm強大的拼寫提示功能:

創建MVC
14、運行與調試
現在我們准備前往admin界面進行一些設置了。當然,我們很可能需要先運行Django服務,進入對應文件目錄,在地址欄輸入完整的URL地址。
不過這里Pycharm提供了一個輕量級的修改方法:Django server run configuration
單擊主工具欄的 run/debug configurations選項來進入調試配置模式,然后選擇Edit Configuration(或者在主菜單中選擇Run→Edit Configurations):

在 Run/Dug Configuration dialog box對話框中,輸入配置方案名稱(這里為myapp)、默認的瀏覽器(勾選Run browser選項),個性化定制我們的節點界面:

15、加載用戶界面
加載並運行這個應用,按下Shift+F10或者主工具欄中的run按鈕,打開標准的administration頁面,而且必須登錄。接下來你可以創建一些polls並為其制定相應的問題及候選項:

16、創建視圖鏈接
接下來我們准備為應用添加一些子視圖,讓它擁有"index"、"details"、"results"、"votes"等子頁面。首先,我們向urls.py文件中添加這些子頁面的模式(在Project窗口中選中該文件然后按F4):

這些模式所涉及的頁面目前還並不存在,因此需要手動向其中添加一些方法並進行模板關聯,這些操作在Pycharm的幫助下會變得異常簡單:
你只需將鼠標指針懸停在一個未定義(Pycharm會高亮顯示那些unresolved reference的代碼),這是會亮起一個黃色的小燈泡,這就意味着Pycharm在此准備了一個快速提示,單擊小燈泡(或者按下Alt+enter):

選擇Create Django view method選項來在views.py文件中創建一個視圖的成員方法,並與特定的模板文件相關聯。
接下來我們會看到以下變化:
templates目錄不再為空,其中包含了我們創建的根模板文件。
views.py文件中已經包含了根視圖的相關方法。

除了添加了view的相關方法外,Pycharm還自動導入的Django中的相關操作,並用render_to_response來標記。
注意view method名稱左側的圖標,可以通過該圖標來查看該方法對應的模板。可以通過Create template<name>命令在快速創建視圖以及對應模板,接下來我們向其中寫入代碼。
例如我們希望看到polls的可用列表,打開views.py,輸入以下代碼:

Pycharm會給出快捷的拼寫提示:

完成后將會有如下顯示:

17、創建模板
接下來我們向模板中添加一些代碼。打開index.html文件,輸入模板代碼。這里需要注意的是大括號一定要成對出現,當你輸入{%,Pycharm會在輸入光標的后面自動添加另一個括號。這里你可以通過Ctrl+Space來進行拼寫提示。

當需要輸入HTML類型標簽時,PyCharm同樣設計了幫助系統:
Ctrl+Space調用拼寫提示功能。
當輸入一個括號時,會自動生成另一個括號以進行匹配
接下來擬至於一步一步晚上你的模板代碼,最終結果如下:

18、大功告成
讓我們核實一下polls的變量列表,發現我們的admin能夠正常使用,並且能夠在地址欄中顯示對應的URL地址(/admin/, type /polls/):

單擊以查看詳細信息:

代碼部署
(1) 部署配置
4、配置一個部署服務器
單擊主工具欄中的設置按鈕來打開Settings/Preferences對話框,選擇 Deployment頁面(也可以通過主菜單上的Tools→Deployment→Configuration命令來完成)。
單擊綠色加號,在Add Server對話框中,輸入服務器的名稱(MyRemoteServer)並指定其類型(此處選擇Local or mounted folder):

此時已經添加了一個新的服務器,但其內容為空。它只顯示了Web服務的根域名(http://localhost),你需要在其中上傳你的文件。
5、如何定制 連接表單
選擇上傳文件的所在目錄,這里為本地目錄C:\xampp\htdocs(既可以手動輸入,也可以通過Shift+Enter快捷鍵來打開Select Path對話框進行輸入),詳見 product documentation:

6、如何定制 映射表單
接下來,選擇Mappings tab,其中的Local path欄默認包含了工程根目錄。當然你可以選擇你的工程樹中的任意目錄,這里我們使用它的缺省值。
在Deployment path欄中(缺省值為空),需要定義服務器所在文件夾,將來Pycharm會從Local path文件夾向其中上傳文件。這里選擇為C:\xampp\htdocs。
最后在 Web path on the server MyRemoteServer欄中使用其缺省值:

OK,保存設置,服務可用。
7、瀏覽遠端主機
你需要簡單的確認一下你的服務器是否已上線並正常運行。打開Remote Hosts tool window(位於PyCharm窗口的右邊緣):

當然,也可以通過Tools→Deployment→Browse Remote Hosts菜單命令來打開這個窗口。
(2)部署操作
9、上傳
首先,向遠端服務器上傳文件,做法如下:
在 Project tool window窗口中,右擊待上傳的文件,這里為Solver.py。
在彈出的快捷菜單中,選擇Deployment→Upload to MyRemoteServer,觀察上載結果:

當然我們也可以上傳工程目錄下的所有文件。
例如,右擊Solver.py文件所在父目錄(src),在快捷菜單中選擇Upload to MyRemoteServer,就能夠將目錄下的所有文件上傳到服務端:


10、遠程、本地版本比較
此時再遠程服務端和本地服務端都有一份Solver.py文件,它們是完全相同的。此時切換到本地視圖。
做法很簡單,將光標定位在函數聲明語句上,按下Ctrl+Alt+Shift+T(或者主菜單上的Refactor→Refactor This命令):

如你所見,快捷菜單中列出了當前文本下可用的所有代碼重構,我們這里選擇Rename refactoring,並且rename a method:

單擊Do Refactor,觀察函數名稱以及用法的改變。
此時我們已經對一個本地版本進行了更改,接下來我們需要做的就是讓Pycharm接收到這些更改。
再次進入Project tool window,右擊Solver.py文件,在快捷菜單中選擇Deployment→Compare with Deployed Version on MyRemoteServer。
Pycharm會打開differences viewer for files對話框,在這里你可以通過shevron按鈕來核對所做的改變:

更多信息參見product documentation。
11、下載
右擊Solver.py,選擇Deployment→Download from MyRemoteServer,Pycharm會立即給出警告提示:

不必驚慌,直接單擊Continue即可:

對應的你也可以下載整個目錄下的文件,前提是這些文件已經上傳完成。例如,右擊父目錄src,執行相同操作,即會自動下載目錄中所有嵌套文件。
然而如果你試圖下載一個還未上傳的文件,Pycharm會給出下載失敗的提示:

12、同步機制調整
首先需要進行一步准備工作,就是將對Solver.py文件所做的更改撤銷(Ctrl+Z),此時會再次看到Solver.py文件中類的成員函數重構名稱。
接下來右擊Solver.py,選擇Deployment→Sync with Deployed to MyRemoteServer,Pycharm彈出 differences viewer for folders窗口,在這里你可以通過shevron按鈕來核對所做的單獨改變:

當然也可以對整個文件夾進行同步操作。例如右擊node_modules選擇Deployment→Sync with Deployed to MyRemoteServer,此時會在左窗口中顯示node_modules文件夾中的內容,但右側窗口為空,因為該目錄下的文件並未上傳到服務端。我們可以在此處進行上傳。選擇待同步的文件,單擊工具欄上的
按鈕:

13、自動上傳至缺省服務器
當用戶需要在服務端使用與Pycharm工程中完全相同的文件時,自動上傳功能就顯得很用幫助。自動上傳功能意味着無論在IDE中對代碼進行了何種改變,Pycharm都會自動將其保存在已部署的默認的服務端。
14、將服務器指定為缺省服務器
缺省服務器的最大優點就是可以使用自動上傳功能,指定方法如下:
(1)在Deployment page頁面上選擇一個服務器。有兩種打開Deployment page頁面的方法:
要么使用Settings/Preferences→Deployment菜單命令,
要么使用Tools→Deployment→Configuration菜單命令。
(2)在server configurations列表中,單擊缺省按鈕:

15、啟用自動上傳功能
設置完缺省服務器之后,接下來就是開啟自動上傳功能。做法如下:
(1)首先,打開Options部署選項(主菜單中的Settings/Preferences→Deployment→Options 或者 Tools→Deployment→Options命令),在Upload files automatically to the defaylt server選項中選擇Always,或者On explicit save action選項:

以上兩個選項之間的差別詳見 in the field description。
(2)第二步,勾選主菜單Tools→Deployment→Automatic upload復選框,注意此時的automatic apload選項已經處於Always的模式:

值得一提的是,我們並不推薦在發布的產品中使用Always模式,避免我們在部署過程中不經意上傳了未開發完整的代碼,從而破壞了產品的穩定性。
16、上傳外部更改
默認情況下Pycharm只上傳文件自身的更改情況,如果我們通過其他途徑對文件進行了更改,例如通過VCS branch、transpilation of SASS 或者 LESS or a File Watcher進行的更改,Pycharm是不會將這些更改自動上傳的,為了保證這些更改也能順利上傳,需要啟用Upload external changes功能:

調試JAVA腳本
1、總覽
對於Web開發而言,調試Java腳本是十分重要的。為了顯示Pycharm對於Java腳本的強大調試能力,我們這里創建一個非常簡單的腳本,用以展示一些簡單的瀏覽器頁面,然后在服務器上對其進行調試。
為了能夠在外部服務器上進行調試,需要在上面運行程序文件,同時在你的電腦上拷貝一份。不過沒關系,無論Web服務器是運行在物理遠端還是運行在你的電腦上,其中的應用程序都可以看成是一個遠程服務程序。
當一個使用JavaScript生成的遠程文件打開時,調試器會告訴Pycharm當前處理文件的名稱以及對應的行號。
Pycharm會打開本地副本並定位到相應的行。
Pycharm的這種行為使得服務端和客戶端的文件進程保持同步。這種通信機制成為映射(mapping),在debug配置文件中保留了相關的設置信息。
2、准備工作
(1)Pycharm版本為3.0或者更高。
(2)使用谷歌瀏覽器(這篇教程是基於谷歌Chorme的)
(3)你已經安裝了JetBrains IDE Support外部插件。如果你是第一次加載調試器,Pycharm會給出你關於安裝JetBrains IDE Support外部插件的重要性。
舉個例子,對於瀏覽器,當在地址欄的右側顯示
圖標,並且非透明,說明插件已經安裝並且成功激活。
可以在https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji下載和安裝JetBrains IDE Support外部擴展。
建議使用XAMPP作為服務端程序(文章是針對XAMPP的)。
3、創建一個簡單的工程
在主菜單中選擇File→New Project,選擇一個空工程,命名為MyJSProject:

在一個獨立的窗口中打開這個工程:

4、實例准備
首先,創建一個HTML file。在工程管理窗口中按下Alt+Insert,在彈出的快捷菜單中選擇HTML文件類型,命名為numbers:

Pycharm會在生成的HTML文件中添加一些原始內容。接下來,向其中嵌入一個JavaScript文件,在<body>標簽下輸入一下代碼:

在輸入代碼時注意體會Pycharm的拼寫提示功能:

完成后,注意文件名numbers.js以高亮的形式給出。這說明當前的JavaScript文件不存在。在將光標定位在名稱“numbers”上,按下Alt+Enter(或者單擊左側的小黃色燈泡);會給出快捷提示——創建一個缺省文件:

通過這個快捷方法,已將創建好了原始的JavaScript文件,接下來輸入下面代碼:

5、設置斷點
接下來在JavaScript文件中插入斷點,非常簡單,在右側單擊即可:

6、配置服務器
7、創建一個服務器
打開Settings/Preferences對話框(Ctrl+Alt+S或者單擊主菜單的設置按鈕),單擊Deployment page頁面的綠色的加號,將服務器命名為MyRemoteServer,指定類型為local or mounted server。
8、配置映射連接
接下來配置創建的服務器。在Connection選項卡中,輸入需要加載的本地文件的目錄,這里為C:\xampp\htdocs,也就意味着將從這個目錄來上傳本地文件:

單擊Mappings選項卡,在這里定義本地路徑,服務器的部署路徑(與Connection選項卡的設置相同),以及服務器的Web路徑:

9、定義項目的默認服務器
指定創建的服務器為當前項目的默認服務器,只需在Deployment toolbar中單擊
按鈕。
10、預覽服務器
接下來需要確認我們的服務程序能夠在Pycharm的可視化窗口中順利上傳和運行。在主菜單中選擇Tools → Deployment → Browse Remote Hosts。遠程Host控制窗口會顯示當前新開啟的服務:

11、向服務器應用中部署文件
在Pycharm中這個操作非常簡單。在主菜單中選擇Tools → Deployment → Upload to MyRemoteServer,確保新目錄C:\xampp\htdocs已經在服務器上順利創建。

另一種方式可以通過右擊文件,在快捷菜單中進行操作。當然二者都需要通過Upload to MyRemoteServer命令來完成。
12、調試
13、開始調試
開始調試后,將會在瀏覽器中顯示你的HTML頁面,同時調試窗口 Debug tool window開啟。應有程序會在命中第一個斷點的時候停止,並用藍色標記代碼行:

更多有關斷點的信息參見product documentation中的Breakpoints部分。
對應用程序進行更為深入的調試,相關的調試信息會顯示在調試窗口以及瀏覽器上:

單擊
和
控制代碼的調試進程,通過關閉黃色標志或者單價Cancel按鈕來終止調試。
