亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

flask中before_request與after_request的區別是什么

發布時間:2021-02-18 16:44:31 來源:億速云 閱讀:187 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關flask中before_request與after_request的區別是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

使用before_request 和 after_request的方法都非常簡單,使用 @app.before_request 或者@app.after_request 修飾期望在請求前或請求后執行的函數即可

示例:

@app.before_request 
def before_request(): 
  if not m_ip_range.is_ip_strict(): 
    return 
  ranges = m_ip_range.get_range() 
  ip_int = utils.ip_to_int(request.remote_addr) 
  yes = False 
  for item in ranges: 
    if item['is_used']==0: 
      continue 
    if ip_int >= item['ip_start'] and ip_int <= item['ip_end']: 
      yes = True 
      break 
  if not yes: 
    abort(400)

before_request()函數被修飾以后,每一次請求到來后,都會先執行它,如果沒問題即沒有執行到abort(400),那么就會進入到正常的被app.route修飾的函數中進行響應,如果有多個函數被app.before_request修飾了,那么這些函數會被依次執行。

你很關心這個before_request裝飾器有什么用,其實它的用處非常大,比如我們希望能對ip地址進行過濾,雖然你可以使用nginx,但我們也可以使用before_request來做,使用nginx,我們不得不手動的進行設置,但如果是用flask自身的before_request機制,我們可以在程序判斷出某個ip有惡意訪問行為后將其加入到緩存當中(redis),每次請求到來時,由before_request來判斷這個ip是不是合法的。

被app.after_request修飾過的函數會在請求得到相應后返回給用戶前被調用,也就是說,這個時候,請求已經被app.route裝飾的函數響應過了,已經形成了response,我們在這個時候做一些操作,flask有一個插件叫 flask-compress,是對響應結果進行壓縮的,它就是用after_request的這個機制,在response返回前對數據進行了壓縮,如果你有別的想要操作的事情,同樣可以使用after_request來完成。

看完上述內容,你們對flask中before_request與after_request的區別是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

成都市| 体育| 庄浪县| 清流县| 驻马店市| 大方县| 独山县| 金川县| 阜康市| 汕头市| 朝阳县| 剑河县| 磐安县| 肇东市| 洛隆县| 临武县| 葵青区| 黎川县| 麦盖提县| 松阳县| 江达县| 张北县| 十堰市| 高陵县| 东乡族自治县| 布拖县| 昭觉县| 博乐市| 会宁县| 苏尼特左旗| 华安县| 上栗县| 靖宇县| 专栏| 新和县| 凤冈县| 上思县| 太康县| 承德市| 象州县| 清水河县|