通常來講,這將會有一個 get_X() 函數(shù)來創(chuàng)建資源 X ,如果它還不存在的話。
存在的話就直接返回它。另外還會有一個 teardown_X() 的回調(diào)函數(shù)用于銷毀資源
X 。
如下是我們剛剛提到的連接數(shù)據(jù)庫的例子:
import sqlite3
from flask import g
def get_db():
db = getattr(g, '_database', None)
if db is None:
db = g._database = connect_to_database()
return db
@app.teardown_appcontext
def teardown_db(exception):
db = getattr(g, '_database', None)
if db is not None:
db.close()
更多建議: