Python Web介面開發學習筆記(基於Django框架)(一)
通過學習蟲師的《Python web介面開發與測試》一書記錄並總結一些主要知識點和心得。
2017.12.04
1. 建立一個Django專案
前提:安裝好python和Django,以及需要一個IDE,之前的python程式都在Eclipse IDE中編輯,現在使用Atom來編輯,介面更簡潔清晰。
專案背景:開發一個會議簽到系統,在這個系統(或者叫專案)中會有很多應用(App)。今天先學習的是登入應用。
(1)新建專案
安裝好Django後,使用它提供的"startproject"命令新建一個專案
django-admin startproject
(2)新建應用
專案建立好後,先建立一個登入應用。
建立好專案後,會自動生成manage.py檔案,執行檔案發現,改檔案提供了建立應用的命令"startapp"
python manage.py startapp
這裡有個小疑問:執行"django-admin"和“python manage.py”給出的命令一部分是重疊的。建立應用的時候是否能用“django-admin”來執行?
(3)向瀏覽器輸出"Hello Django!"
經過(1)、(2)步驟,專案中會自動生成一些框架性檔案,通過在某些檔案中新增內容,即可實現向瀏覽器輸出"Hello jango!"文字。
在建立專案時生成的urls.py檔案中新增url路徑配置;在建立應用時生成的views.py檔案中新增url對應的資料處理;如果想用HTML代替字串,則需要在應用資料夾下新建template/資料夾,並將對應的html檔案放在該資料夾下。
模板系統的設計使得程式在業務邏輯(views.py)和表現邏輯(XXX.html)明顯隔離。
2017.12.05
1. Django開發模式-MTV(module-template-view)
設計模式:資料驅動Web應用
MTV -> MVC
Django已經將MVC中的C整合在了框架中,由框架自動完成,而MVC中的V對應到Django架構中,被拆成了T和V,這是Django的開發模式MTV的來源。
2. Django檢視view
處理使用者輸入的資料,並決定向使用者展示什麼樣的結果。
3. cookies & session
cookies客戶端瀏覽器儲存使用者資訊的一種方式,session服務端儲存使用者資訊的一種方式,較cookies更安全。
2017.12.06
1. Django認證系統
(1)admin管理後臺:使用者表、組表
Django有自帶的admin管理後臺(127.0.0.1:8000/admin/),在這個後臺可以新建專案要用到的資料庫表,並新增資料。
(2)“關窗”
正常講,網站的所有頁面均需要驗證當前使用者的登入資訊,通過後才會展示。但是在未“關窗”前,即使使用者不登入,只要獲取了頁面的url地址也能訪問。
為了“關窗”,Django提供了一個非常方便的方法,在url地址對應的view函式定義前新增“@login_required”
2. Django模型
(1)建立釋出會表、簽到使用者表
(2)資料庫操作及工具(跳過,未細學)
2017.12.08
1. Django模板
雖然Django提供了admin管理後臺,可以管理各個資料庫表,但是在涉及的系統中,還是需要脫離開admin,開發自己的資料管理頁面。
(1)Django-bootstrap
" Bootstrap,來自 Twitter,是目前很受歡迎的前端框架。Bootstrap 是基於 HTML、CSS、JavaScript 的,它簡潔靈活,使得 Web 開發更加快捷。它由Twitter的設計師Mark Otto和Jacob Thornton合作開發,是一個CSS/HTML框架。Bootstrap提供了優雅的HTML和CSS規範,它即是由動態CSS語言Less寫成。"
使用bootstrap前要先安裝,在專案資料夾下執行pip命令安裝。
python -m pip install django-bootstrap3
對HTML與CSS不那麼精通,照貓畫虎寫了兩個頁面(釋出會資訊管理頁面、嘉賓資訊管理頁面)。
(2)分頁器
(待總結......)
2. 開發簽到功能