Python Flask框架的一些理解

Flask是一個用python編寫的WSGI應用框架,我們使用他的時候,只需要專注于從網(wǎng)絡(luò)請求到網(wǎng)絡(luò)響應的過程中的邏輯處理,而無需關(guān)注網(wǎng)絡(luò)層面的操作。
他可以很簡單地使用pip來安裝:

pip install flask

Hello Flask

編寫一個Flask的Hello world相當容易

1 導入Flask

from flask import Flask

2 實例化Flask

app = Flask(__name__)

Flask類的構(gòu)造參數(shù)是引入名,F(xiàn)lask使用這個名字進行靜態(tài)資源、模板信息和錯誤的定位,一般情況下,我們總是使用__name__。

3 注冊路由

@app.route('/')
def index:
  return 'Hello Flask'

注冊路由就是建立URL和處理關(guān)系之間的聯(lián)系,HTTP請求在Flask中依賴于注冊的路由進行轉(zhuǎn)發(fā)。
路由的注冊使用的是python的特殊語法,修飾器,他將會把對應的URL規(guī)則綁定到對應的函數(shù)上,這個函數(shù)被稱為視圖函數(shù),當來自對應URL的HTTP請求被WSGI服務(wù)器接收后,將會執(zhí)行對應的視圖函數(shù)。

4 啟動WSGI服務(wù)器

app.run(host='0.0.0.0', port=80,debug=True)

路由規(guī)則

1 HTTP方法

在Flask中可以通過methods參數(shù)來指定使用的方法,如果不聲明,則默認支持GET與POST方法

@app.route('/test', methods=['POST', 'GET'])
def test():
  if request.method == 'GET':
    return 'get method response'
  if request.method == 'POST':
    return 'post mehod response'

2 匹配動態(tài)URL

在路由器修飾器中,可以在URL規(guī)則中使用尖括號來聲明變量,同時為視圖函數(shù)聲明對應的參數(shù)。

@app.route('/hello/<username>')
def say_hello():
  return 'hello %s' % username

其中,這個參數(shù)還可以使用變量類型過濾。

@app.route('/hello/<int:count>')

Flask將會對對應的參數(shù)進行預處理:

  • string - 匹配不包含/的字符串,這是默認的轉(zhuǎn)換器。
  • path - 匹配包含/的字符串。
  • int - 只有當URL中的變量是整型值時才匹配,并將變量轉(zhuǎn)換為整型。
  • float - 只有當URL中的變量是浮點值時才匹配,并將變量轉(zhuǎn)換為浮點型。

3 靜態(tài)文件目錄

在Flask中,static文件夾將會成為默認的靜態(tài)文件目錄,如果你想要指定特殊的靜態(tài)文件目錄,可以在Flask的實例化過程中使用

app = Flask(__name__, static_folder='/var/www/static')

That's it, 就是這么簡單。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 22年12月更新:個人網(wǎng)站關(guān)停,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,401評論 22 257
  • [TOC]一直想做源碼閱讀這件事,總感覺難度太高時間太少,可望不可見。最近正好時間充裕,決定試試做一下,并記錄一下...
    何柯君閱讀 7,391評論 3 98
  • 這幾天想學新東西,就看了flask框架,本身對python不太了解,網(wǎng)上的很多教程看了,總是在某些地方卡住。翻到一...
    易木成華閱讀 2,399評論 0 11
  • 1-人工智慧,人類滅亡? 人類最值錢的部分是大腦。 2-人工智慧改變(聰明)的定義: 聰明: 人工智慧的方便 情緒...
    Karlina簡稱K閱讀 315評論 0 0
  • 【靜等花開】親子閱讀30天D7 共讀:經(jīng)典之所以成為經(jīng)典,是經(jīng)過時間檢驗滴!比如巴巴爸爸, 1970年,漫畫問世 ...
    木木sani閱讀 309評論 0 0

友情鏈接更多精彩內(nèi)容