可以多個請求之前的函式
執行順序是誰在前面誰先執行
如果前面的before_request有返回值,後面的都不會執行
#基於它做使用者登入認證
def process_request(*args,**kwargs):
if request.path == '/login':
return none
user = session.get('user_info')
if user:
return none
return redirect('/login')
def sb():
print(request)
print("我是請求之前")
return "我是請求之前1的返回"
# 上面有返回值,後面的都不會執行
def sb1():
print("我是請求之前2")
#return "我是請求之前2的返回"
可以在請求之後新增多個after_request
執行順序是誰在前面誰後執行
before_request對我的after_request沒有影響,有沒有返回值都會執行
def process_response1(response):
print('process_response1 走了')
return response
def process_response2(response):
print('process_response2 走了')
return response
'''
專案啟動後的第一次訪問
'''def first():
print("我的第一次")
'''
無論有沒有異常都會執行,有異常會把異常傳遞進來
'''def ter(e):
print(e)
print("我是異常")
'''
'''def error_404(arg):
return "404錯誤了"
標籤
def sb(a1, a2):
return a1 + a2
'''在模板中直接使用該函式就可以了,不需要返回模板並傳參
'''#}
過濾器def db(a1, a2, a3):
return a1 + a2 + a3
'''在模板中直接使用該過濾器就可以,根據函式的形參來傳遞
'''#}
總結:1 重點掌握before_request和after_request,
2 注意有多個的情況,執行順序
3 before_request請求攔截後(也就是有return值),response所有都執行
Flask之請求鉤子
什麼是請求鉤子?說白了,就是在執行檢視函式前後你可以進行一些處理,flask使用裝飾器為我們提供了註冊通用函式的功能。before first request 在處理第乙個請求前執行 before request 在每次請求前執行 after request 每次請求之後呼叫,前提是沒有未處理的異常...
Flask之請求鉤子
什麼是請求鉤子?說白了,就是在執行檢視函式前後你可以進行一些處理,flask使用裝飾器為我們提供了註冊通用函式的功能。before first request 在處理第乙個請求前執行 before request 在每次請求前執行 after request 每次請求之後呼叫,前提是沒有未處理的異常...
flask之請求上下文
第一階段 將ctx request,session 放到local物件上 第二階段 檢視函式匯入 request session request.method localproxy物件.method,執行getattr方法,getattr self.get current object name s...