中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flask框架請求鉤子與request請求對象用法實例分析

發布時間:2020-09-29 03:56:01 來源:腳本之家 閱讀:246 作者:HMMHMH 欄目:開發技術

本文實例講述了Flask框架請求鉤子與request請求對象。分享給大家供大家參考,具體如下:

請求鉤子

在客戶端和服務器交互的過程中,有些準備工作或掃尾工作需要處理,比如:

  • 在請求開始時,建立數據庫連接
  • 在請求開始時,根據需求進行權限校驗
  • 在請求結束時,指定數據的交互格式

為了讓每個視圖函數避免編寫重復功能的代碼,Flask提供了通用設施的功能,即請求鉤子。

請求鉤子是通過裝飾器的形式實現,Flask支持如下四種請求鉤子:

請求鉤子 描述
before_first_request 在處理第一個請求前執行
before_request 在處理每一個請求前執行
after_request 如果沒有拋出錯誤,則在每一次請求后執行(接受一個參數:視圖函數做出的響應)
teardown_request 在每次請求后執行(接受一個參數:用來接受錯誤信息)

例:

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

第一次訪問打印結果:

Flask框架請求鉤子與request請求對象用法實例分析

第二次訪問打印結果:

Flask框架請求鉤子與request請求對象用法實例分析

request對象

屬性 說明 類型
data 記錄請求的數據,并轉換為字符串 *
form 記錄請求中的表單數據 MultiDict
args 記錄請求中的查詢參數 MultiDict
cookies 記錄請求中的cookie信息 Dict
headers 記錄請求中的報文頭 EnvironHeaders
method 記錄請求使用的HTTP方法 GET/POST…
url 記錄請求的URL地址 string
files 記錄請求上傳的文件 *

獲取request對象:

例:

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

希望本文所述對大家基于Flask框架的Python程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安远县| 日照市| 吉木乃县| 武定县| 崇文区| 郴州市| 雅江县| 阿克苏市| 凤山县| 郓城县| 通河县| 金堂县| 兴宁市| 太谷县| 邵阳市| 攀枝花市| 牙克石市| 渝中区| 麻城市| 元阳县| 泰来县| 安达市| 巨野县| 肥城市| 瑞昌市| 崇州市| 濮阳县| 百色市| 桃源县| 德安县| 克什克腾旗| 潜山县| 鄂伦春自治旗| 赣州市| 廊坊市| 武强县| 乐都县| 玛纳斯县| 江津市| 新巴尔虎右旗| 平湖市|