私はこれが最初のスニペットでflask homepageフラスコアプリでsqlite接続を再オープンするには?
から公式SQLiteのチュートリアルを以下午前:
import sqlite3
from flask import g
DATABASE = '/path/to/database.db'
def get_db():
db = getattr(g, '_database', None)
if db is None:
db = g._database = sqlite3.connect(DATABASE)
return db
@app.teardown_appcontext
def close_connection(exception):
db = getattr(g, '_database', None)
if db is not None:
db.close()
しかし、私はこのコードを使用してデータベースに問い合わせ電話をかける際に二回は2回目の呼び出しに失敗しました:
DB接続は、最初の呼び出しの終わりに閉鎖され、db is None
がfalseであるため、その後2回目の呼び出しにリニューアルオープンしていないますので、理にかなって
sqlite3.ProgrammingError: Cannot operate on a closed database.
。
データベースを再オープンするにはどうすればよいですか?
フラスコのバージョンは何ですか? –
バージョンは0.12.2 – Altoyyr
ありがとうございます。あなたのルートを添付できますか? –