Flask 讀書筆記(1)

2021-08-20 17:38:58 字數 1685 閱讀 9771

# chapter2  flask 程式的基本結構

## 一、初始化 flask

2.  name引數決定了程式的根目錄

## 二、路由和檢視函式

2.  修飾器是python的標準特性,修改函式的行為,常用於把函式註冊為事件的處理程式

3.  特定的url觸發伺服器執行相應的函式,函式的返回值稱為**響應**,該函式稱為**檢視函式**

4.  `@aap.route('/user/')`匹配包含可變部分的url,尖括號內是動態部分,匹配靜態部分的url都會對映到路由上,動態部分作為引數傳入檢視函式

## 三、啟動伺服器

## 四、完整程式

1.  在位址列輸入`可見檢視函式的響應

## 五、請求-響應迴圈

1.  上下文  

a). 為了讓檢視函式訪問請求物件,可將其作為引數傳入檢視函式,但會增加函式的引數。flask使用**上下文**臨時把某些物件變為全域性可訪問。  

b). flask讓特定的變數在乙個執行緒中全域性可訪問,與此同時卻不會干擾其他執行緒。  

> 避免大量重複引數的訪問導致檢視函式**重複、亂的問題,flask使用**上下文**使一些變數在乙個執行緒中全域性可訪問,不會干擾其它執行緒  

c). flask有兩種上下文:

* 請求上下文`request, sessiom`  

2.  請求排程  

c). 程式收到客戶端發來的請求時,要找到處理該請求的檢視函式  

3.  請求鉤子  

a). 避免檢視函式**的重複,可用**請求鉤子**:flask提供註冊通用函式的功能,可在請求被

分發到檢視函式之前或之後呼叫  

b). flask支援4種鉤子:

* `before_first_request`:第乙個請求前執行

* `before_request`:每一次請求前執行

* `after_request`:沒有未處理的異常丟擲時,在每次請求之後執行

* `teardown_request`:即使有異常,每次請求後執行

c). 請求鉤子函式與檢視函式之間用`g`變數共享資料。例如`before_request`處理程式從資料庫中載入已登入使用者,並儲存到`g.user`中,檢視函式再使用`g.user`獲取使用者  

4.  響應  

a). 檢視函式的返回值就是響應;可以新增**狀態碼**返回,預設值是200,表明請求被成功處理;響應可新增第三個引數,由首部`(header)`組成的字典,不常用  

b). 使用`make_response`函式返回`response`物件,然後在響應物件上呼叫各種方法,進一步設定響應  

```d). `abort()`產生了一種特殊響應,用於處理錯誤,返回狀態碼404;abort不會吧控制權交還給呼叫它的檢視函式,而是丟擲異常把控制權交給web伺服器

## 六、flask擴充套件

讀書筆記 1

從我第一次看到windows就對它那花花綠綠的外表所吸引,大學兩年過來,時間又讓我從另乙個角度重新認識的了這些美麗的。本學期開始圖形程式設計的學習,探索windows圖形系統,並對gdi api,directdraw api進行學習。之所以寫部落格,第 一 是想勉勵自己不斷學習,讓大家監督 第 二 ...

讀書筆記1

netstat p525 網路資訊服務是通過本地查詢,還是要連線到遠端資料庫 p527 網路配置檔案?服務資訊函式?linux下如何組網 p527 如何設定計算機的主機名 p528 套接字 第15章 套接字 套接字 p513,523 what 套接字 一種程序間通訊機制 不僅可以本地程序通訊,也可以...

讀書筆記 1

條款01 視c 為乙個語言聯邦 條款02 盡量以const,enum,inline替換 define 條款03 盡可能使用const 條款04 確定物件被使用前已先被初始化 條款05 了解c 默默編寫並呼叫哪些函式 什麼時候empty class不再是個empty class呢?當c 處理過它之後....