我想知道是否有一種方法可以確保在所有 Flask API 端點中呼叫某些函式而無需手動呼叫該函式?這是為了防止重復確保函式被呼叫,并避免意外忘記呼叫它的錯誤。也許有圖書館或裝飾師?
def do_something():
# does things
# does more things
@app.route(/route1) Method = [GET]
def my_function():
do_something()
return 200
@app.route(/route2) Method = [GET]
def my_other_function():
do_something()
return 200
所以我想要
def do_something():
# does things
# does more things
@do_something_was_called
@app.route(/route1) Method = [GET]
def my_function():
return 200
@do_something_was_called
@app.route(/route2) Method = [GET]
def my_other_function():
return 200
提前致謝!
uj5u.com熱心網友回復:
您可以使用app.before_request
從檔案
before_request(f)
在每個請求之前注冊一個要運行的函式。例如,這可用于打開資料庫連接,或從會話加載登錄用戶。
例子:
@app.before_request
def load_user():
if "user_id" in session:
g.user = db.session.get(session["user_id"])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/520058.html
下一篇:Flask-SQLAlchemy引發TypeError:Query.paginate()接受1個位置引數,但給出了4個
