Flask上下文與鉤子函式

2021-10-05 21:01:31 字數 2517 閱讀 3055

import os

from datetime import timedelta

from utils import log_a, log_b

'/')

defindex()

: username =session.get(

'username'

) g.username = username

log_a(

) log_b(

) hello(

)return

"這是首頁"

# 如果另乙個方法也要呼叫 可以直接用g物件

defhello()

:print

('hello %s'

% g.username)

utils檔案:

# utils 工具檔案 生成24位的字串  傳送驗證碼

# def log_a(username):

# print("log a %s" % username)

## def log_b(username):

# print("log b %s" % username)

from flask import g

deflog_a()

:print

("log a %s"

% g.username)

deflog_b()

:print

("log b %s"

% g.username)

def

before_request()

:ifnothasattr

(g.'user'):

setatter(g.

'user'

,'***')

defteardown

(response)

:print

("teardown 被執行"

)return response

defcontext_processoor()

:return

('current_user'

:'***x'

)errorhander: 接受狀態碼,可以自定義返回這種狀態碼的響應處理方式。

404)

defpage_not_found

('error'):

return

"this page does notexist"

,404

執行**

先是第一次 然後是每次 最後是首頁!

"/")

defindex()

:print

("這是首頁"

)return

"這是首頁"

defhandle_first_request()

:print

("這是第一次請求之前執行的"

)def

handle_before()

:print

("每次請求之前被執行的"

)順序為:這是第一次請求之前執行的

每次請求之前被執行的

這是首頁

每次請求之後被執行的

defhandle_after

(response)

:print

("每次請求之後被執行的"

)return response

列印順序:同上,handle_teardown被執行----在最後

defhandle_teardown

(response)

:print

("handle_teardown被執行"

)return response

上下文處理器:

"/")

defindex()

:print

("這是首頁"

)return render_template(

"index.html"

)# return "這是首頁"

"/list/"

)def

list()

:return render_template(

"list.html"

)def

context()

:return

"/")

defindex()

:# 1/0

abort(

500)

print

("這是首頁"

)return render_template(

"index.html"

)# return "這是首頁"

404)

defpage_not_find

(error)

:return render_template(

"404.html"),

404# return "頁面不存在"

500)

defserver_error

(error)

:return

"伺服器內部錯誤"

,500

flask請求鉤子 請求上下文

from flask import flask from flask import redirect,url for,abort 在第一次請求之前呼叫,可以在當前的方法中初始化操作 def before first request print before first request 在每一次請求之...

flask筆記4 上下文與請求鉤子

table of contents 01上下文 02請求鉤子 04 flask script擴充套件命令列 背景 可以直接從request物件獲取引數 django是通過檢視函式傳入request物件,屬於區域性變數 def index request flask中request是全域性變數,多個執...

flask 請求鉤子 上下文 綜合認證

1.請求鉤子 請求鉤子就是就是在客戶端發起請求的時候,對各個階段進行監聽和處理,這可以完成一些統一的處理,減少 冗餘。類似於中介軟體或前後置 主要有以下四種請求鉤子 before first request before request after request teardown request ...