1. 程式人生 > >Python Web介面開發學習筆記(基於Django框架)(一)

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. 開發簽到功能