談談Python之Django搭建企業級官網(第二篇)

轉載請註明來源地址和原作者(CFishHome)

前沿

上一節虛擬環境的內容淺顯易懂,相信和我正在一起學習Django的朋友們都手到拈來。接下來這一篇文章將介紹Django正式學習前的必備知識,要堅持學習才能熟能生巧,三天後我因爲要和舍友們去深圳浪一波,所以三天後會不更新文章,但回來後我會繼續學習,然後更新學習筆記共同進步。

學前準備

在學習Django之前,我們需要準備好以下工作:

  1. 確保已經安裝Python3.6以上的版本。
  2. 安裝好virtualenvwrapper軟件。
  3. 熟悉了virtualenvwrapper軟件對虛擬環境操作的常用命令。

OK,上面的準備工作做好了,我們先創建一個名爲django-env的虛擬環境,打開CMD,執行以下命令(本人安裝的是Anaconda3,裏面內置了Python3.x版本,所以解釋器在Anaconda3文件夾內):
談談Python之Django搭建企業級官網(第二篇)
從上圖命令執行返回的信息可以看出,Envs不是一個目錄,所以Envs在當前用戶目錄正在被創建,並且使用D:\Anaconda3\python.exe作爲虛擬環境的解釋器,最後在該虛擬環境中安裝pip等程序文件。
(注意,我沒有添加環境變量修改虛擬環境默認安裝目錄)創建成功後,結果如下圖:
談談Python之Django搭建企業級官網(第二篇)
然後執行以下命令開始安裝Django2.0版本:

pip install django==2.0

運行結果如下:
談談Python之Django搭建企業級官網(第二篇)
我們還要安裝Pycharm profession版本的軟件,請自行安裝,這裏不介紹安裝過程。注意,只有pycharm的professional版本才支持Django的開發,而community(社區版)不能用於網頁開發!

URL詳解

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
1、協議部分(scheme):該URL的協議部分爲“http:”,這代表網頁使用的是HTTP協議。在Internet中可以使用多種協議,如HTTP,FTP等等本例中使用的是HTTP協議。在"HTTP"後面的“//”爲分隔符

2、域名部分(host):該URL的域名部分爲"www.abc.com" ,一個URL中,也可以使用IP地址作爲域名使用。

3、端口部分(port):跟在域名後面的是端口,域名和端口之間使用“:”作爲分隔符。端口不是一個URL必須的部分,如果省略端口部分,將採用默認端口80

4、虛擬目錄部分(path):從域名後的第一個“/”開始到最後一個“/”爲止,是虛擬目錄部分。虛擬目錄也不是一個URL必須的部分。本例中的虛擬目錄是“/news/”

5、文件名部分(filename):從域名後的最後一個“/”開始到“?”爲止,是文件名部分,如果沒有“?”,則是從域名後的最後一個“/”開始到“#”爲止,是文件部分,如果沒有“?”和“#”,那麼從域名後的最後一個“/”開始到結束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一個URL必須的部分,如果省略該部分,則使用默認的文件名

6、錨部分(anchor):從“#”開始到最後,都是錨部分。本例中的錨部分是“name”。錨部分也不是一個URL必須的部分,後臺一般不用管,前端用來做頁面定位的。

7、參數部分(query-string):從“?”開始到“#”爲止之間的部分爲參數部分,又稱搜索部分、查詢部分。本例中的參數部分爲“boardID=5&ID=24618&page=1”。參數可以允許有多個參數,參數與參數之間用“&”作爲分隔符。
注意: URL 中的所有字符都是 ASCII 字符集,如果出現非 ASCII 字符,比如中文,瀏覽器會進行編碼再進行傳輸。

小試牛刀-第一個Django項目

創建Django項目

前面學前準備我們安裝了Pycharm,這是因爲創建Django項目有兩種方式:

命令行方式
可視化Pycharm方式

相信大衆都喜歡可視化Pycharm方式創建Django項目,因爲可以不用打命令。
(1)命令行方式
打開CMD,先進入虛擬環境,接着在虛擬環境內,執行以下命令:
談談Python之Django搭建企業級官網(第二篇)
那麼就會在虛擬環境的當前目錄下建一個Django項目。這十分不人道,所以最好在虛擬環境下先進入自己喜歡的目錄下再執行該命令那麼就好管理了。創建成功後的Django項目含有一個文件夾和manage.py文件。
運行結果如下:
談談Python之Django搭建企業級官網(第二篇)
(2)可視化Pycharm方式
打開Pycharm(保證是Professional版),創建Django項目,如下圖所示:
談談Python之Django搭建企業級官網(第二篇)
創建Django項目時,我填寫了Django項目的路徑還有設置已存在的解析器(這個指定解析器其實就是指定某個虛擬環境下的解析器,所以相當於指定該Django項目是放在某個虛擬環境下管理。)
結果如下:
談談Python之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所在文件目錄下),執行以下命令:
談談Python之Django搭建企業級官網(第二篇)
這樣可以在本地訪問你的網站,默認端口號是 8000,而且訪問IP地址爲本機測試地址127.0.0.1,這樣就可以在瀏覽器中通過 http://127.0.0.1:8000/ 來訪問你的網站啦。如果想要修改端口號,那麼在運行的時候可以指定端口號, python manage.py runserver 9000 這樣就可以通過 9000 端口來訪問啦。另外,這樣運行的項目只能在本機上能訪問。我們還可以設置讓同一局域網下的電腦或手機訪問你的網站,後面會講解。
訪問結果圖如下:
談談Python之Django搭建企業級官網(第二篇)
到了這裏,如果將訪問的IP地址替換成隨意的會咋樣?當然是會報錯,127.0.0.1地址是每一臺電腦自己的本機測試地址,所以127.0.0.1纔可以用於測試訪問我們自己的項目,但是若替換成不存在的IP地址,自然會報錯。如下圖(最後一句是錯誤信息):
談談Python之Django搭建企業級官網(第二篇)
(2)可視化Pycharm方式
在測試Pycharm方式運行Django項目前先關閉CMD運行的Django項目,然後打開Pycharm,直接點擊上方的綠色箭頭按鈕即可運行。
如下圖:
談談Python之Django搭建企業級官網(第二篇)
需要注意的是,當使用pycharm來開發Django項目,要注意下方是不是同時運行兩次或多次同一個項目。這樣的結果導致測試時可能會有錯誤,因爲當你想測試某個項目時,實際上網站運行的。當採用pycharm運行項目時要避免一個項目運行多次。在項目配置中,把“只用單一實例”那個選項勾選上,避出現問題。如下圖所示:
談談Python之Django搭建企業級官網(第二篇)

介紹項目各類文件

我們可以看到不管哪種方式創建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,改成你想要的端口號,重新運行。如下圖:
談談Python之Django搭建企業級官網(第二篇)
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不是手機的App。app 是 django 項目的組成部分,“應用”的意思。一個 app 代表項目中的一個模塊,所有 URL 請求的響應都是由 app 來處理。比如豆瓣,裏面有圖書,電影,音樂,同城等許許多多的模塊,如果站在 django 的角度來看,圖書,電影這些模塊就是 app ,圖書,電影這些 app 共同組成豆瓣這個項目。因此這裏要有一個概念, django 項目由許多 app 組成,一個 app 可以被用到其他項目, django 也能擁有不同的 app 。現在不理解app沒關係,後面的學習會逐漸明白app的作用。

app創建

創建應用(app),一個項目類似於是一個架子,但是真正起作用的還是 app 。在CMD終端進入到Pycharm方式創建的Django項目所在的路徑,然後執行 以下命令創建一個app:

python manage.py startapp my_app

注意,不管是命令行方式還是Pycharm方式創建Django項目,要想爲這個項目添加app,都必須通過在CMD下命令的方式創建app。
結果如下(創建成功後,在項目目錄下添加了一個名字爲my_app的app文件夾):
談談Python之Django搭建企業級官網(第二篇)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章