flask學習筆記

2021-10-01 10:12:13 字數 1997 閱讀 8780

flask涉及到兩個重要的類——flask和blueprint[藍本] 類。

flask的應用程式需要flask類例項化才能執行,**的基本配置資訊也包含在此類中。

例項化如下:

from flask import flask
配置如下:

blueprint類與flask類似,它能夠更好的組織web應用程式,並能延遲flask類例項的建立。

1. 路由和請求處理

路由的存在是為了將web服務的請求轉交給flask程式例項的函式處理,簡單的說處理url和函式之間的關係稱為路由。函式稱為檢視函式。

flask類包含了route裝飾器,通過初始化flask類註冊檢視函式。

無引數

def index():

return ""

當訪問**根網域名稱時,會執行index函式,返回值的結果會在網頁中顯示。

帶引數

在很多時候使用者不同,使用的url不同,帶引數的路由能夠很好的處理url中變化的部分。如在網頁中顯示個人名字

def user(name):

return ''.format(name)

處理get, post請求

def index():

pass

當網頁需要處理表單等請求時,需要新增methods,使得檢視函式能夠處理http請求。methods中的引數包括了http協議中定義的5種動作。

響應處理

from flask import make_request

response = make_request("")

response.set_cookie('answer','42')

return response

響應處理中很重要的一部分是處理http協議的狀態碼。flask預設狀態碼是200。而返回特殊狀態碼可在返回值中新增,**如下:

def index():

return "", 400 #返回特殊狀態碼```

「』?』 + 鍵值對「 形式

? 後的鍵值對由flask提供request物件處理。假設url為127.0.0.1:5000?page=1

from flask import request

def index():

page = request.args.get('page', type=int)

2. 異常處理

在瀏覽網頁時,可能會遇到一些錯誤,flask提供abort函式丟擲錯誤,而丟擲的異常會直接返回給web伺服器。我們也可以自定義處理這些異常。**如下:

from flask import abort

def index():

abort(404) #丟擲404異常

def page_not_found(error): # 自定義處理異常

return 'this page does not exist', 404

3. 請求鉤子

請求鉤子是指在請求之前或之後所做的處理函式

函式名功能

before_first_request

在處理第乙個請求之前執行

before_request

每次請求之前執行

after_request

無異常,每次請求之後執行

teardown_request

即使異常,也在請求之後執行

請求鉤子函式與檢視函式之間通過g變數共享資料。

學習資料:

python 中文學習大本營 :python中文學習大本營

《flask web 開發》segmentfault系列文章 - 作者只錄入了前七章內容,未涉及例項開發部分

Flask學習筆記

web 發展至今,特別是伺服器端,涉及到的知識 內容,非常廣泛。這對程式設計師的要求會越來越高。如果採用成熟,穩健的框架,那麼一些基礎的工作,比如,網路操作 資料庫訪問 會話管理等都可以讓框架來處理,那麼程式開發人員可以把精力放在具體的業務邏輯上面。使用web框架開發web應用程式可以降低開發難度,...

Flask 學習筆記

因為mac自帶了python2.7,所以這個文章是基於2.7版本的 依賴於兩個外部庫 werkzeug和jinjia2.werkzeug是乙個wsgi工具集,jinjia2負責渲染模版 2.安裝 1 mac osx或linux sudo pip install virtualenv mkdir my...

FLask學習筆記 Flask概念(一)

1.程式例項 flask類的物件,只有乙個強制指定的引數 程式主模組或包的名字。通常用如下 建立 from flask import flask2.路由和檢視函式 處理url和函式之間關係的程式稱為路由。def index return hello world 上圖中index 即為檢視函式 動態路...