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()
('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)
("teardown 被執行"
)return response
defcontext_processoor()
:return
('current_user'
:'***x'
)errorhander: 接受狀態碼,可以自定義返回這種狀態碼的響應處理方式。
404)
defpage_not_found
('error'):
return
"this page does notexist"
,404
執行**
先是第一次 然後是每次 最後是首頁!
"/")
defindex()
("這是首頁"
)return
"這是首頁"
defhandle_first_request()
("這是第一次請求之前執行的"
)def
handle_before()
("每次請求之前被執行的"
)順序為:這是第一次請求之前執行的
每次請求之前被執行的
這是首頁
每次請求之後被執行的
defhandle_after
(response)
("每次請求之後被執行的"
)return response
列印順序:同上,handle_teardown被執行----在最後
defhandle_teardown
(response)
("handle_teardown被執行"
)return response
上下文處理器:
"/")
defindex()
("這是首頁"
)return render_template(
"index.html"
)# return "這是首頁"
"/list/"
)def
list()
:return render_template(
"list.html"
)def
context()
:return
"/")
defindex()
:# 1/0
abort(
500)
("這是首頁"
)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 ...