轉載請註明來源地址和原做者(CFishHome)前端
上一節虛擬環境的內容淺顯易懂,相信和我正在一塊兒學習Django的朋友們都手到拈來。接下來這一篇文章將介紹Django正式學習前的必備知識,要堅持學習才能熟能生巧,三天後我由於要和舍友們去深圳浪一波,因此三天後會不更新文章,但回來後我會繼續學習,而後更新學習筆記共同進步。python
在學習Django以前,咱們須要準備好如下工做:web
OK,上面的準備工做作好了,咱們先建立一個名爲django-env的虛擬環境,打開CMD,執行如下命令(本人安裝的是Anaconda3,裏面內置了Python3.x版本,因此解釋器在Anaconda3文件夾內):
從上圖命令執行返回的信息能夠看出,Envs不是一個目錄,因此Envs在當前用戶目錄正在被建立,而且使用D:\Anaconda3\python.exe做爲虛擬環境的解釋器,最後在該虛擬環境中安裝pip等程序文件。
(注意,我沒有添加環境變量修改虛擬環境默認安裝目錄)建立成功後,結果以下圖:
而後執行如下命令開始安裝Django2.0版本:django
pip install django==2.0
運行結果以下:
咱們還要安裝Pycharm profession版本的軟件,請自行安裝,這裏不介紹安裝過程。注意,只有pycharm的professional版本才支持Django的開發,而community(社區版)不能用於網頁開發!瀏覽器
URL 是 Uniform Resource Locator 的簡寫,統一資源定位符。
一個 URL 由如下幾部分組成:服務器
scheme://host:port/path/filename?query-string=xxx#anchor
舉個URL栗子:http://www.abc.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
一、協議部分(scheme):該URL的協議部分爲「http:」,這表明網頁使用的是HTTP協議。在Internet中可使用多種協議,如HTTP,FTP等等本例中使用的是HTTP協議。在"HTTP"後面的「//」爲分隔符app
二、域名部分(host):該URL的域名部分爲"www.abc.com" ,一個URL中,也可使用IP地址做爲域名使用。ide
三、端口部分(port):跟在域名後面的是端口,域名和端口之間使用「:」做爲分隔符。端口不是一個URL必須的部分,若是省略端口部分,將採用默認端口80學習
四、虛擬目錄部分(path):從域名後的第一個「/」開始到最後一個「/」爲止,是虛擬目錄部分。虛擬目錄也不是一個URL必須的部分。本例中的虛擬目錄是「/news/」測試
五、文件名部分(filename):從域名後的最後一個「/」開始到「?」爲止,是文件名部分,若是沒有「?」,則是從域名後的最後一個「/」開始到「#」爲止,是文件部分,若是沒有「?」和「#」,那麼從域名後的最後一個「/」開始到結束,都是文件名部分。本例中的文件名是「index.asp」。文件名部分也不是一個URL必須的部分,若是省略該部分,則使用默認的文件名
六、錨部分(anchor):從「#」開始到最後,都是錨部分。本例中的錨部分是「name」。錨部分也不是一個URL必須的部分,後臺通常不用管,前端用來作頁面定位的。
七、參數部分(query-string):從「?」開始到「#」爲止之間的部分爲參數部分,又稱搜索部分、查詢部分。本例中的參數部分爲「boardID=5&ID=24618&page=1」。參數能夠容許有多個參數,參數與參數之間用「&」做爲分隔符。
注意: URL 中的全部字符都是 ASCII 字符集,若是出現非 ASCII 字符,好比中文,瀏覽器會進行編碼再進行傳輸。
前面學前準備咱們安裝了Pycharm,這是由於建立Django項目有兩種方式:
命令行方式
可視化Pycharm方式
相信大衆都喜歡可視化Pycharm方式建立Django項目,由於能夠不用打命令。
(1)命令行方式
打開CMD,先進入虛擬環境,接着在虛擬環境內,執行如下命令:
那麼就會在虛擬環境的當前目錄下建一個Django項目。這十分不人道,因此最好在虛擬環境下先進入本身喜歡的目錄下再執行該命令那麼就好管理了。建立成功後的Django項目含有一個文件夾和manage.py文件。
運行結果以下:
(2)可視化Pycharm方式
打開Pycharm(保證是Professional版),建立Django項目,以下圖所示:
建立Django項目時,我填寫了Django項目的路徑還有設置已存在的解析器(這個指定解析器其實就是指定某個虛擬環境下的解析器,因此至關於指定該Django項目是放在某個虛擬環境下管理。)
結果以下:
到目前爲止,咱們分別使用命令行方式在C:\Users目錄下建立了一個名爲first_project的django項目,還有使用pycharm方式在C:\Users\Administrator\django_project目錄下建立了一個同名first_project的django項目。那麼既然建立Django項目有兩種方式(命令行方式和可視化Pycharm方式),天然而然也有兩種方式來運行Django項目,分別爲:
命令行方式
可視化Pycharm方式
(1)命令行方式
先進入django-env虛擬環境,而後進入到所要運行的Django項目的目錄下(即manage.py所在文件目錄下),執行如下命令:
這樣能夠在本地訪問你的網站,默認端口號是 8000,並且訪問IP地址爲本機測試地址127.0.0.1,這樣就能夠在瀏覽器中經過 http://127.0.0.1:8000/ 來訪問你的網站啦。若是想要修改端口號,那麼在運行的時候能夠指定端口號, python manage.py runserver 9000 這樣就能夠經過 9000 端口來訪問啦。另外,這樣運行的項目只能在本機上能訪問。咱們還能夠設置讓同一局域網下的電腦或手機訪問你的網站,後面會講解。
訪問結果圖以下:
到了這裏,若是將訪問的IP地址替換成隨意的會咋樣?固然是會報錯,127.0.0.1地址是每一臺電腦本身的本機測試地址,因此127.0.0.1才能夠用於測試訪問咱們本身的項目,可是若替換成不存在的IP地址,天然會報錯。以下圖(最後一句是錯誤信息):
(2)可視化Pycharm方式
在測試Pycharm方式運行Django項目前先關閉CMD運行的Django項目,而後打開Pycharm,直接點擊上方的綠色箭頭按鈕便可運行。
以下圖:
須要注意的是,當使用pycharm來開發Django項目,要注意下方是否是同時運行兩次或屢次同一個項目。這樣的結果致使測試時可能會有錯誤,由於當你想測試某個項目時,實際上網站運行的。當採用pycharm運行項目時要避免一個項目運行屢次。在項目配置中,把「只用單一實例」那個選項勾選上,避出現問題。以下圖所示:
咱們能夠看到無論哪一種方式建立Django項目,都會有一個文件夾和manage.py(pycharm方式多了一些東西,無論它先)。
manage.py :之後和項目交互基本上都是基於這個文件。通常都是在終端輸入 python manage.py [子命令] 。能夠輸入 python manage.py help 看下能作什麼事情。除非你知道你本身在作什麼,通常狀況下不該該編輯這個文件。
settings.py :本項目的設置項,之後全部和項目相關的配置都是放在這個裏面。
urls.py :這個文件是用來配置URL路由的。好比訪問 http://127.0.0.1/news/ 是訪問新聞列表頁,這些東西就須要在這個文件中完成。
wsgi.py :項目與 WSGI 協議兼容的 web 服務器入口,部署的時候須要用到的,通常狀況下也是不須要修改的。
1.改變端口號:
(1)在CMD終端,運行的時候加上一個端口號就能夠了。命令爲:「python manage.py runserver 9000」.
(2)在pycharm中,右上角->項目配置->host->port,改爲你想要的端口號,從新運行。以下圖:
2.讓同局域網中的其餘電腦訪問本機的項目:
怎麼同一局域網?最簡單的就是手機開熱點讓你的電腦鏈接,那麼就在同一局域網了。而後根據命令行方式仍是pycharm方式選其一進行以下步驟:
(1)設置Django項目的host爲0.0.0.0:
A.若是在CMD終端,使用命令:「python manage.py runserver 0.0.0.0:8000」
B.若是在pycharm,右上角->項目配置->host,改爲「0.0.0.0」
(2)在「settings.py」文件中,配置「ALLOWED_HOSTS」
將本機的ip地址添加進去,示例代碼以下:
「ALLOWRD_HOSTS = ['電腦本機的ip地址']」 //注意電腦本機的ip地址是你的手機分配的地址,因此手機和電腦確定在同一網段,即同一局域網。
運行成功後,同一局域網下的其餘電腦或手機訪問你的網站。 注意,若是失敗了,可能還要關閉本身電腦的防火牆才行。
這裏的app不是手機的App。app 是 django 項目的組成部分,「應用」的意思。一個 app 表明項目中的一個模塊,全部 URL 請求的響應都是由 app 來處理。好比豆瓣,裏面有圖書,電影,音樂,同城等許許多多的模塊,若是站在 django 的角度來看,圖書,電影這些模塊就是 app ,圖書,電影這些 app 共同組成豆瓣這個項目。所以這裏要有一個概念, django 項目由許多 app 組成,一個 app 能夠被用到其餘項目, django 也能擁有不一樣的 app 。如今不理解app不要緊,後面的學習會逐漸明白app的做用。
建立應用(app),一個項目相似因而一個架子,可是真正起做用的仍是 app 。在CMD終端進入到Pycharm方式建立的Django項目所在的路徑,而後執行 如下命令建立一個app:
python manage.py startapp my_app
注意,不論是命令行方式仍是Pycharm方式建立Django項目,要想爲這個項目添加app,都必須經過在CMD下命令的方式建立app。
結果以下(建立成功後,在項目目錄下添加了一個名字爲my_app的app文件夾):