PyCharm入門第一步(四)——創建和運行第一個Django項目
步驟4:創建和運行您的第一個Django項目
注:此功能僅在專業版中受支持。
在你開始之前
- 您正在使用PyCharm 2016.1或更高版本。
- 您的計算機上至少安裝了一個Python解釋器。
- 你已經安裝了Django包。
本教程是使用以下假設創建的:
- Python 3.4.1。
- Django 1.10.0或更高版本。
- 本教程中使用的示例與Django文檔中使用的示例類似 。
創建一個新項目
實際上,所有新項目都是以相同的方式創建的:通過單擊歡迎屏幕的快速啟動區域中的“ Create New Project”按鈕:

如果您已經打開了項目,請選擇主菜單中的File | New Project...來創建一個新的項目,選擇所需的項目類型(這里是Django)。指定項目名稱和位置。Python的最佳實踐是為每個項目創建virtualenv。為此,請展開Project Interpreter:New Virtualenv Environment節點,然后選擇用于創建新虛擬環境的工具。這里選擇Virtualenv工具,并指定用于新虛擬環境的位置和基本解釋器。如有必要,請選中下面的兩個復選框。接下來,展開“ More Settings”節點并指定與Django相關的設置。在“ Application name”字段中,指定應用程序名稱(此處為polls)。

單擊Create - Django項目已準備就緒。
Exploring project structure
如上所述,基本上,存根項目已準備就緒。它包含特定于框架的文件和目錄。當您創建任何受支持類型的項目時,也會發生同樣的情況,無論是Pyramid還是Google App Engine。現在來看看如何在項目工具窗口中看到新項目的結構。
項目工具窗口的項目視圖
默認顯示此視圖。它顯示了特定于Django的項目結構: polls和mysite目錄; 另外,你可以看到 manage.py和settings.py文件。請注意,您在此視圖中看不到.idea目錄:

項目工具窗口的項目文件視圖
如果出于某些原因,您希望查看.idea目錄的內容,請選擇視圖Project Files:如您所見,此視圖顯示相同的目錄和文件,以及.idea目錄,因為它位于項目根目錄下:

在項目視圖中看到了什么?
- mysitedirectory是項目的容器。在項目視圖中,它用粗體字表示。
- manage.py:這是一個命令行實用程序,可讓您與Django項目進行交互。
- 嵌套目錄mysite是項目的實際Python包。
- mysite/__init__.py:這個空文件告訴Python這個目錄應該被認為是一個Python包。
- mysite/settings.py:此文件包含Django項目的配置。
- mysite/urls.py:此文件包含Django項目URL聲明。
- mysite/wsgi.py:此文件定義了與WSGI兼容的Web服務器的入口點,以便為您的項目提供服務。
- 嵌套目錄polls包含開發Django應用程序所需的所有文件(此時,這些文件為空):
- polls/_init_.py告訴Python該目錄應該被視為Python包。
- polls/models.py:在這個文件中,將為應用程序創建模型。
- polls/views.py:在這個文件中,將創建視圖。
- templates目錄現在是空的。它應該包含模板文件。
- 嵌套目錄migrations現在只包含包文件 _init_.py,但將來會用于將您對模型所做的更改(添加字段,刪除模型等)傳到數據庫模式中。
請注意,您可以根據需要創建任意數量的Django應用程序。要將應用程序添加到項目,請運行manage.py程序的startapp任務(Tools | Run manage.py task,然后在控制臺中輸入startapp)。
配置數據庫
現在,當項目存根準備就緒時,讓我們做一些微調。打開進行編輯settings.py。為此,請在“項目”工具窗口中選擇該文件,然后按F4。該文件在編輯器中的own選項中打開。指定要在應用程序中使用的數據庫。為此,找到 DATABASES變量:單擊Ctrl+F,然后在搜索字段中開始鍵輸入要查找的字符串。然后,在“ENGINE”行中,在dot之后添加數據庫管理系統的名稱(您可以使用注釋后指定的任何名稱,但首先我們將從sqlite3開始。)在該'NAME'行中,輸入所需數據庫的名稱,即使它尚不存在。

啟動Django服務器
由于選擇sqlite3,因此不需要定義其他值(用戶憑據,端口和主機)。現在檢查一下設置是否正確。這可以最輕松地完成:只需啟動manage.py實用程序的runserver任務:按Ctrl + Alt + R,然后在manage.py控制臺中輸入任務名稱:

按照建議的鏈接,查看以下頁面:

創建模型
接下來,編輯文件models.py,并注意import語句已經存在。然后輸入以下代碼:

實際上,你可以只復制粘貼,但建議輸入 - 它可以幫助你看到功能強大的PyCharm的代碼完成:

創建數據庫
必須為新模型創建表。為此我們將使用Ctrl + Alt + R快捷方式來調用manage.py控制臺。要執行的第一個命令是makemigrations polls:

因此,您已經告訴Django已經創建了兩個新模型,即Choice 和Question,并創建了一個migration:

接下來,在提示符后,輸入以下命令:
sqlmigrate polls 0001

最后,運行migrate命令在數據庫中實際創建這些表:

執行管理功能
首先,創建一個超級用戶。為此,請在manage.py控制臺中輸入createsuperuser命令,指定您的電子郵件地址和密碼:

由于決定啟用站點管理,PyCharm已經取消注釋文件urls.py中的相應行。打開admin.py目錄中的polls文件進行編輯,并查看以下已存在的代碼:

但是,需要為管理站點啟用編輯功能。
準備運行/調試配置
現在準備進入管理頁面。當然,很有可能運行Django服務器,然后轉到您的瀏覽器,并在地址欄中鍵入整個URL,但使用PyCharm有一種更簡單的方法:使用預先配置的Django服務器運行配置稍作修改。要打開此運行/調試配置以進行編輯,請在主工具欄上單擊運行/調試配置選擇器,然后選擇“ Edit Configurations”(或在主菜單上選擇Run | Edit Configurations):

在“ Run/Dug Configuration”對話框中,為此運行/調試配置命名(此處為mysite),啟用在默認瀏覽器中運行應用程序(選中“ Run browser ”復選框)并指定默認打開的站點頁面(此頁為//127.0.0.1:8000/admin/):

啟動管理站點
現在,要啟動應用程序,請按Shift + F10,或單擊主工具欄上的播放圖標打開標準Django站點登錄頁面:

登錄后,將顯示管理頁面。它有一部分身份驗證和授權(組和用戶),但Polls不可用。為什么這樣?這里必須告訴管理員,Question對象有一個管理界面; 為此,打開文件 polls/admin.py進行編輯(在項目視圖中選擇并按下 F4),然后輸入以下代碼:

再次注意代碼完成:

刷新頁面,看到出現問題的Polls部分:

單擊“ Add”以創建一些問題。
編輯admin.py
再次打開以編輯文件polls/admin.py并按如下所示進行更改:

現在查看更改問題頁面:

Writing views
打開polls/views.py文件進行編輯,然后輸入以下Python代碼:

接下來,將新文件添加到名為urls.py的polls目錄中,并在其中輸入以下代碼:

接下來,編輯文件mysite/urls.py(PyCharm已經為您創建)并添加索引頁面的URL。您應該得到以下代碼:

現在,打開頁面127.0.0.1:8000/polls/:

接下來,添加更多視圖。再次,將以下代碼添加到polls/views.py文件中:

通過添加以下url()調用將這些新視圖連接到polls.urls模塊:

如果您現在在瀏覽器中打開相應的頁面,您將看到,例如:

創建Django模板
如您所見,這些頁面的設計在視圖中是編碼的。因此,為了使其更具可讀性,您必須編輯相應的Python代碼。 然后讓我們將輸出的可視化表示與Python分開 - 為此,創建模板。


請注意幫助您創建import語句的導入助手。您注意到的第一件事是對index.html頁面的未解析引用:

PyCharm建議快速修復:如果單擊燈泡,或按 Alt+Enter,則會在模板文件夾中創建相應的模板文件(請注意,PyCharm還會創建此模板應保留的目錄Polls):

到目前為止,該index.html文件為空。將以下代碼添加到其中:

注意模板文件中的代碼完成! 例如,當您輸入開頭{%,PyCharm adds the matching closing one %}時,將插入符號放在將來輸入的位置。 在HTML標記中,代碼完成也可用。

這些圖標使您可以立即在視圖方法和模板之間跳轉。
使用樣式表
正如您在視圖文件index.html中看到的那樣,對樣式表有一個引用,它沒有得到解決:
以下列方式解析此引用:
- 創建目錄。請在“項目”視圖中選擇Python package polls,然后按Alt+Insert。
在出現的彈出菜單中,選擇“Directory”,然后指定目錄結構的名稱static/polls。
- 接下來,在此目錄中創建樣式表。請選擇 innermost directory polls,按Alt+Insert,選擇樣式表選項 ,然后在打開的對話框中輸入樣式。
- 根據您的偏好,為創建的樣式表提供一些內容。例如,希望看到一個綠色標題的項目符號列表:

Here we are!
現在查看可用的Polls。管理站點已經運行,訪問包含Polls列表(索引頁面)的頁面的最簡單方法是指定其URL:在瀏覽器的地址欄中,而不是/ admin /,輸入/ polls/:

測試一下
現在來看看PyCharm如何幫助簡化測試應用程序。polls目錄中已有文件tests.py。 到現在為止,這個文件是空的。 當然,建議將新測試放在此特定文件中。 例如,想確保Polls不是空的

要運行此測試,請在編輯器中右鍵單擊文件tests.py的background,選擇Run,或者按Ctrl + Shift + F10。 PyCharm建議兩個選項:運行UnitTest(定義為默認測試運行器)或Django測試。測試結果顯示在“運行”工具窗口的“ Test Runner”選項中:

概要
- 已經創建了一個Django項目和應用程序
- The Django server launched
- 已配置數據庫
- 創建模型,視圖和模板
- 該應用程序已啟動
- 測試創建和執行