• <menu id="w2i4a"></menu>
  • logo PyCharm入門教程

    文檔首頁(yè)>>PyCharm入門教程>>PyCharm入門第一步(四)——?jiǎng)?chuàng)建和運(yùn)行第一個(gè)Django項(xiàng)目

    PyCharm入門第一步(四)——?jiǎng)?chuàng)建和運(yùn)行第一個(gè)Django項(xiàng)目


    PyCharm v2019.1全新發(fā)布

    步驟4:創(chuàng)建和運(yùn)行您的第一個(gè)Django項(xiàng)目

    注:此功能僅在專業(yè)版中受支持。

    在你開(kāi)始之前
    • 您正在使用PyCharm 2016.1或更高版本。
    • 您的計(jì)算機(jī)上至少安裝了一個(gè)Python解釋器。
    • 你已經(jīng)安裝了Django包。

      本教程是使用以下假設(shè)創(chuàng)建的:

      • Python 3.4.1。
      • Django 1.10.0或更高版本。
      • 本教程中使用的示例與Django文檔中使用的示例類似 。

    創(chuàng)建一個(gè)新項(xiàng)目

    實(shí)際上,所有新項(xiàng)目都是以相同的方式創(chuàng)建的:通過(guò)單擊歡迎屏幕的快速啟動(dòng)區(qū)域中的“ Create New Project”按鈕:

    如果您已經(jīng)打開(kāi)了項(xiàng)目,請(qǐng)選擇主菜單中的File | New Project...來(lái)創(chuàng)建一個(gè)新的項(xiàng)目,選擇所需的項(xiàng)目類型(這里是Django)。指定項(xiàng)目名稱和位置。Python的最佳實(shí)踐是為每個(gè)項(xiàng)目創(chuàng)建virtualenv。為此,請(qǐng)展開(kāi)Project Interpreter:New Virtualenv Environment節(jié)點(diǎn),然后選擇用于創(chuàng)建新虛擬環(huán)境的工具。這里選擇Virtualenv工具,并指定用于新虛擬環(huán)境的位置和基本解釋器。如有必要,請(qǐng)選中下面的兩個(gè)復(fù)選框。接下來(lái),展開(kāi)“ More Settings”節(jié)點(diǎn)并指定與Django相關(guān)的設(shè)置。在“ Application name”字段中,指定應(yīng)用程序名稱(此處為polls)。

    單擊Create - Django項(xiàng)目已準(zhǔn)備就緒。

    Exploring project structure

    如上所述,基本上,存根項(xiàng)目已準(zhǔn)備就緒。它包含特定于框架的文件和目錄。當(dāng)您創(chuàng)建任何受支持類型的項(xiàng)目時(shí),也會(huì)發(fā)生同樣的情況,無(wú)論是Pyramid還是Google App Engine。現(xiàn)在來(lái)看看如何在項(xiàng)目工具窗口中看到新項(xiàng)目的結(jié)構(gòu)。

    項(xiàng)目工具窗口的項(xiàng)目視圖

    默認(rèn)顯示此視圖。它顯示了特定于Django的項(xiàng)目結(jié)構(gòu): polls和mysite目錄; 另外,你可以看到 manage.py和settings.py文件。請(qǐng)注意,您在此視圖中看不到.idea目錄:

    項(xiàng)目工具窗口的項(xiàng)目文件視圖

    如果出于某些原因,您希望查看.idea目錄的內(nèi)容,請(qǐng)選擇視圖Project Files:如您所見(jiàn),此視圖顯示相同的目錄和文件,以及.idea目錄,因?yàn)樗挥陧?xiàng)目根目錄下:

    在項(xiàng)目視圖中看到了什么?
    • mysitedirectory是項(xiàng)目的容器。在項(xiàng)目視圖中,它用粗體字表示。
    • manage.py:這是一個(gè)命令行實(shí)用程序,可讓您與Django項(xiàng)目進(jìn)行交互。
    • 嵌套目錄mysite是項(xiàng)目的實(shí)際Python包。
    • mysite/__init__.py:這個(gè)空文件告訴Python這個(gè)目錄應(yīng)該被認(rèn)為是一個(gè)Python包。
    • mysite/settings.py:此文件包含Django項(xiàng)目的配置。
    • mysite/urls.py:此文件包含Django項(xiàng)目URL聲明。
    • mysite/wsgi.py:此文件定義了與WSGI兼容的Web服務(wù)器的入口點(diǎn),以便為您的項(xiàng)目提供服務(wù)。
    • 嵌套目錄polls包含開(kāi)發(fā)Django應(yīng)用程序所需的所有文件(此時(shí),這些文件為空):
      • polls/_init_.py告訴Python該目錄應(yīng)該被視為Python包。
      • polls/models.py:在這個(gè)文件中,將為應(yīng)用程序創(chuàng)建模型。
      • polls/views.py:在這個(gè)文件中,將創(chuàng)建視圖。
    • templates目錄現(xiàn)在是空的。它應(yīng)該包含模板文件。
    • 嵌套目錄migrations現(xiàn)在只包含包文件 _init_.py,但將來(lái)會(huì)用于將您對(duì)模型所做的更改(添加字段,刪除模型等)傳到數(shù)據(jù)庫(kù)模式中。

    請(qǐng)注意,您可以根據(jù)需要?jiǎng)?chuàng)建任意數(shù)量的Django應(yīng)用程序。要將應(yīng)用程序添加到項(xiàng)目,請(qǐng)運(yùn)行manage.py程序的startapp任務(wù)(Tools | Run manage.py task,然后在控制臺(tái)中輸入startapp)。

    配置數(shù)據(jù)庫(kù)

    現(xiàn)在,當(dāng)項(xiàng)目存根準(zhǔn)備就緒時(shí),讓我們做一些微調(diào)。打開(kāi)進(jìn)行編輯settings.py。為此,請(qǐng)?jiān)?ldquo;項(xiàng)目”工具窗口中選擇該文件,然后按F4。該文件在編輯器中的own選項(xiàng)中打開(kāi)。指定要在應(yīng)用程序中使用的數(shù)據(jù)庫(kù)。為此,找到 DATABASES變量:?jiǎn)螕鬋trl+F,然后在搜索字段中開(kāi)始鍵輸入要查找的字符串。然后,在“ENGINE”行中,在dot之后添加數(shù)據(jù)庫(kù)管理系統(tǒng)的名稱(您可以使用注釋后指定的任何名稱,但首先我們將從sqlite3開(kāi)始。)在該'NAME'行中,輸入所需數(shù)據(jù)庫(kù)的名稱,即使它尚不存在。

    啟動(dòng)Django服務(wù)器

    由于選擇sqlite3,因此不需要定義其他值(用戶憑據(jù),端口和主機(jī))?,F(xiàn)在檢查一下設(shè)置是否正確。這可以最輕松地完成:只需啟動(dòng)manage.py實(shí)用程序的runserver任務(wù):按Ctrl + Alt + R,然后在manage.py控制臺(tái)中輸入任務(wù)名稱:

    按照建議的鏈接,查看以下頁(yè)面:

    創(chuàng)建模型

    接下來(lái),編輯文件models.py,并注意import語(yǔ)句已經(jīng)存在。然后輸入以下代碼:

    實(shí)際上,你可以只復(fù)制粘貼,但建議輸入 - 它可以幫助你看到功能強(qiáng)大的PyCharm的代碼完成:

    創(chuàng)建數(shù)據(jù)庫(kù)

    必須為新模型創(chuàng)建表。為此我們將使用Ctrl + Alt + R快捷方式來(lái)調(diào)用manage.py控制臺(tái)。要執(zhí)行的第一個(gè)命令是makemigrations polls:

    因此,您已經(jīng)告訴Django已經(jīng)創(chuàng)建了兩個(gè)新模型,即Choice 和Question,并創(chuàng)建了一個(gè)migration:

    接下來(lái),在提示符后,輸入以下命令:

    sqlmigrate polls 0001

    最后,運(yùn)行migrate命令在數(shù)據(jù)庫(kù)中實(shí)際創(chuàng)建這些表:

    執(zhí)行管理功能

    首先,創(chuàng)建一個(gè)超級(jí)用戶。為此,請(qǐng)?jiān)趍anage.py控制臺(tái)中輸入createsuperuser命令,指定您的電子郵件地址和密碼:

    由于決定啟用站點(diǎn)管理,PyCharm已經(jīng)取消注釋文件urls.py中的相應(yīng)行。打開(kāi)admin.py目錄中的polls文件進(jìn)行編輯,并查看以下已存在的代碼:

    但是,需要為管理站點(diǎn)啟用編輯功能。

    準(zhǔn)備運(yùn)行/調(diào)試配置

    現(xiàn)在準(zhǔn)備進(jìn)入管理頁(yè)面。當(dāng)然,很有可能運(yùn)行Django服務(wù)器,然后轉(zhuǎn)到您的瀏覽器,并在地址欄中鍵入整個(gè)URL,但使用PyCharm有一種更簡(jiǎn)單的方法:使用預(yù)先配置的Django服務(wù)器運(yùn)行配置稍作修改。要打開(kāi)此運(yùn)行/調(diào)試配置以進(jìn)行編輯,請(qǐng)?jiān)谥鞴ぞ邫谏蠁螕暨\(yùn)行/調(diào)試配置選擇器,然后選擇“ Edit Configurations”(或在主菜單上選擇Run | Edit Configurations):

    在“ Run/Dug Configuration”對(duì)話框中,為此運(yùn)行/調(diào)試配置命名(此處為mysite),啟用在默認(rèn)瀏覽器中運(yùn)行應(yīng)用程序(選中“ Run browser ”復(fù)選框)并指定默認(rèn)打開(kāi)的站點(diǎn)頁(yè)面(此頁(yè)為http://127.0.0.1:8000/admin/):

    啟動(dòng)管理站點(diǎn)

    現(xiàn)在,要啟動(dòng)應(yīng)用程序,請(qǐng)按Shift + F10,或單擊主工具欄上的播放圖標(biāo)打開(kāi)標(biāo)準(zhǔn)Django站點(diǎn)登錄頁(yè)面:

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

    再次注意代碼完成:

    刷新頁(yè)面,看到出現(xiàn)問(wèn)題的Polls部分:

    單擊“ Add”以創(chuàng)建一些問(wèn)題。

    編輯admin.py

    再次打開(kāi)以編輯文件polls/admin.py并按如下所示進(jìn)行更改:

    現(xiàn)在查看更改問(wèn)題頁(yè)面:

    Writing views

    打開(kāi)polls/views.py文件進(jìn)行編輯,然后輸入以下Python代碼:

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

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

    現(xiàn)在,打開(kāi)頁(yè)面127.0.0.1:8000/polls/:

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

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

    如果您現(xiàn)在在瀏覽器中打開(kāi)相應(yīng)的頁(yè)面,您將看到,例如:

    創(chuàng)建Django模板

    如您所見(jiàn),這些頁(yè)面的設(shè)計(jì)在視圖中是編碼的。因此,為了使其更具可讀性,您必須編輯相應(yīng)的Python代碼。 然后讓我們將輸出的可視化表示與Python分開(kāi) - 為此,創(chuàng)建模板。

    請(qǐng)注意幫助您創(chuàng)建import語(yǔ)句的導(dǎo)入助手。您注意到的第一件事是對(duì)index.html頁(yè)面的未解析引用:

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

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

    注意模板文件中的代碼完成! 例如,當(dāng)您輸入開(kāi)頭{%,PyCharm adds the matching closing one %}時(shí),將插入符號(hào)放在將來(lái)輸入的位置。 在HTML標(biāo)記中,代碼完成也可用。

    這些圖標(biāo)使您可以立即在視圖方法和模板之間跳轉(zhuǎn)。

    使用樣式表

    正如您在視圖文件index.html中看到的那樣,對(duì)樣式表有一個(gè)引用,它沒(méi)有得到解決:

    以下列方式解析此引用:

    • 創(chuàng)建目錄。請(qǐng)?jiān)?ldquo;項(xiàng)目”視圖中選擇Python package polls,然后按Alt+Insert。

      在出現(xiàn)的彈出菜單中,選擇“Directory”,然后指定目錄結(jié)構(gòu)的名稱static/polls。

    • 接下來(lái),在此目錄中創(chuàng)建樣式表。請(qǐng)選擇 innermost directory polls,按Alt+Insert,選擇樣式表選項(xiàng) ,然后在打開(kāi)的對(duì)話框中輸入樣式。
    • 根據(jù)您的偏好,為創(chuàng)建的樣式表提供一些內(nèi)容。例如,希望看到一個(gè)綠色標(biāo)題的項(xiàng)目符號(hào)列表:

    Here we are!

    現(xiàn)在查看可用的Polls。管理站點(diǎn)已經(jīng)運(yùn)行,訪問(wèn)包含Polls列表(索引頁(yè)面)的頁(yè)面的最簡(jiǎn)單方法是指定其URL:在瀏覽器的地址欄中,而不是/ admin /,輸入/ polls/:

    測(cè)試一下

    現(xiàn)在來(lái)看看PyCharm如何幫助簡(jiǎn)化測(cè)試應(yīng)用程序。polls目錄中已有文件tests.py。 到現(xiàn)在為止,這個(gè)文件是空的。 當(dāng)然,建議將新測(cè)試放在此特定文件中。 例如,想確保Polls不是空的

    要運(yùn)行此測(cè)試,請(qǐng)?jiān)诰庉嬈髦杏益I單擊文件tests.py的background,選擇Run,或者按Ctrl + Shift + F10。 PyCharm建議兩個(gè)選項(xiàng):運(yùn)行UnitTest(定義為默認(rèn)測(cè)試運(yùn)行器)或Django測(cè)試。測(cè)試結(jié)果顯示在“運(yùn)行”工具窗口的“  Test Runner”選項(xiàng)中:

    概要

    • 已經(jīng)創(chuàng)建了一個(gè)Django項(xiàng)目和應(yīng)用程序
    • The Django server launched
    • 已配置數(shù)據(jù)庫(kù)
    • 創(chuàng)建模型,視圖和模板
    • 該應(yīng)用程序已啟動(dòng)
    • 測(cè)試創(chuàng)建和執(zhí)行
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();