欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象用法實(shí)例分析

 更新時(shí)間:2019年11月07日 11:51:35   作者:HMMHMH  
這篇文章主要介紹了Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象用法,結(jié)合實(shí)例形式詳細(xì)分析了Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象相關(guān)原理、用法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象。分享給大家供大家參考,具體如下:

請(qǐng)求鉤子

在客戶端和服務(wù)器交互的過(guò)程中,有些準(zhǔn)備工作或掃尾工作需要處理,比如:

  • 在請(qǐng)求開(kāi)始時(shí),建立數(shù)據(jù)庫(kù)連接
  • 在請(qǐng)求開(kāi)始時(shí),根據(jù)需求進(jìn)行權(quán)限校驗(yàn)
  • 在請(qǐng)求結(jié)束時(shí),指定數(shù)據(jù)的交互格式

為了讓每個(gè)視圖函數(shù)避免編寫(xiě)重復(fù)功能的代碼,F(xiàn)lask提供了通用設(shè)施的功能,即請(qǐng)求鉤子。

請(qǐng)求鉤子是通過(guò)裝飾器的形式實(shí)現(xiàn),F(xiàn)lask支持如下四種請(qǐng)求鉤子:

請(qǐng)求鉤子 描述
before_first_request 在處理第一個(gè)請(qǐng)求前執(zhí)行
before_request 在處理每一個(gè)請(qǐng)求前執(zhí)行
after_request 如果沒(méi)有拋出錯(cuò)誤,則在每一次請(qǐng)求后執(zhí)行(接受一個(gè)參數(shù):視圖函數(shù)做出的響應(yīng))
teardown_request 在每次請(qǐng)求后執(zhí)行(接受一個(gè)參數(shù):用來(lái)接受錯(cuò)誤信息)

例:

from flask import Flask
app = Flask(__name__)
# 在第一次請(qǐng)求之前調(diào)用,可以在此方法內(nèi)部做一些初始化操作
@app.before_first_request
def before_first_request():
  print("before_first_request")
# 在每次請(qǐng)求之前調(diào)用,這時(shí)候已經(jīng)有請(qǐng)求了,可能在這個(gè)方法里面做請(qǐng)求的校驗(yàn)
# 如果請(qǐng)求的校驗(yàn)不成功,可以直接在此方法中進(jìn)行響應(yīng),直接return之后那么就不會(huì)執(zhí)行視圖函數(shù)
@app.before_request
def before_request():
  print("before_request")
  # if 請(qǐng)求不符合條件:
  #   return "laowang"
# 在執(zhí)行完視圖函數(shù)之后會(huì)調(diào)用,并且會(huì)把視圖函數(shù)所生成的響應(yīng)傳入,可以在此方法中對(duì)響應(yīng)做最后一步統(tǒng)一的處理
@app.after_request
def after_request(response):
  print("after_request")
  response.headers["Content-Type"] = "application/json"
  return response
# 請(qǐng)每一次請(qǐng)求之后都會(huì)調(diào)用,會(huì)接受一個(gè)參數(shù),參數(shù)是服務(wù)器出現(xiàn)的錯(cuò)誤信息
@app.teardown_request
def teardown_request(e):
  print("teardown_request")
@app.route('/')
def index():
  return 'index'
if __name__ == '__main__':
  app.run(debug=True)

第一次訪問(wèn)打印結(jié)果:

第二次訪問(wèn)打印結(jié)果:

request對(duì)象

屬性 說(shuō)明 類型
data 記錄請(qǐng)求的數(shù)據(jù),并轉(zhuǎn)換為字符串 *
form 記錄請(qǐng)求中的表單數(shù)據(jù) MultiDict
args 記錄請(qǐng)求中的查詢參數(shù) MultiDict
cookies 記錄請(qǐng)求中的cookie信息 Dict
headers 記錄請(qǐng)求中的報(bào)文頭 EnvironHeaders
method 記錄請(qǐng)求使用的HTTP方法 GET/POST…
url 記錄請(qǐng)求的URL地址 string
files 記錄請(qǐng)求上傳的文件 *

獲取request對(duì)象:

例:

request.url # 請(qǐng)求的url地址
request.args.get("password")) # 獲取不到,返回none,
request.args.get("password","aaa")) # 獲取不到,返回aaa

希望本文所述對(duì)大家基于Flask框架的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python opencv 讀取本地視頻文件 修改ffmpeg的方法

    python opencv 讀取本地視頻文件 修改ffmpeg的方法

    今天小編就為大家分享一篇python opencv 讀取本地視頻文件 修改ffmpeg的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python實(shí)現(xiàn)將圖像轉(zhuǎn)換為ASCII字符圖

    Python實(shí)現(xiàn)將圖像轉(zhuǎn)換為ASCII字符圖

    使用Python進(jìn)行圖像處理,非??旖莘奖悖?jiǎn)短幾行代碼就可以實(shí)現(xiàn)功能強(qiáng)大的效果。在這篇文章中,我們將使用Python將圖像轉(zhuǎn)換為ASCII字符照,感興趣的可以了解一下
    2022-08-08
  • python使用插值法畫(huà)出平滑曲線

    python使用插值法畫(huà)出平滑曲線

    這篇文章主要為大家詳細(xì)介紹了python使用插值法畫(huà)出平滑曲線,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python操作word文檔插入圖片和表格的實(shí)例演示

    Python操作word文檔插入圖片和表格的實(shí)例演示

    這篇文章主要給大家介紹了關(guān)于Python操作word文檔插入圖片和表格的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 詳解Python相關(guān)文件常見(jiàn)的后綴名

    詳解Python相關(guān)文件常見(jiàn)的后綴名

    常見(jiàn)的 Python 文件后綴有:py、pyc 、pyo、 pyi、pyw、 pyd、 pyx 等。本文給大家介紹Python相關(guān)文件常見(jiàn)的后綴名,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Python實(shí)現(xiàn)解析與生成JSON數(shù)據(jù)

    Python實(shí)現(xiàn)解析與生成JSON數(shù)據(jù)

    JSON文件是一種輕量級(jí)的數(shù)據(jù)交換格式,它采用了一種類似于JavaScript語(yǔ)法的結(jié)構(gòu),可以方便地在不同平臺(tái)和編程語(yǔ)言之間進(jìn)行數(shù)據(jù)交換,下面我們就來(lái)學(xué)習(xí)一下Python如何使用內(nèi)置的json模塊來(lái)讀取和寫(xiě)入JSON文件吧
    2023-12-12
  • Python利用PyPDF2庫(kù)處理PDF文件的基本操作

    Python利用PyPDF2庫(kù)處理PDF文件的基本操作

    PyPDF2是一個(gè)Python庫(kù),用于處理PDF文件,包括合并、分割、旋轉(zhuǎn)和提取文本等操作,它是一個(gè)功能強(qiáng)大且靈活的工具,可用于自動(dòng)化處理PDF文件,適用于各種應(yīng)用,從文檔管理到數(shù)據(jù)分析,本文將深入介紹PyPDF2庫(kù),掌握如何利用它來(lái)處理PDF文件,需要的朋友可以參考下
    2023-11-11
  • Python進(jìn)階之自定義對(duì)象實(shí)現(xiàn)切片功能

    Python進(jìn)階之自定義對(duì)象實(shí)現(xiàn)切片功能

    這篇文章主要介紹了Python進(jìn)階之自定義對(duì)象實(shí)現(xiàn)切片功能,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 簡(jiǎn)單講解Python中的字符串與字符串的輸入輸出

    簡(jiǎn)單講解Python中的字符串與字符串的輸入輸出

    這篇文章主要介紹了Python中的字符串與字符串的輸入輸出,Python3.x版本中默認(rèn)以Unicode為編碼,省去了不少麻煩,需要的朋友可以參考下
    2016-03-03
  • PyTorch梯度裁剪避免訓(xùn)練loss nan的操作

    PyTorch梯度裁剪避免訓(xùn)練loss nan的操作

    這篇文章主要介紹了PyTorch梯度裁剪避免訓(xùn)練loss nan的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05

最新評(píng)論