【发布时间】:2015-03-25 22:53:53
【问题描述】:
我正在建立一个小型网站,并且我已经在 SQLAlchemy 中拥有所有我的模型。该网站将发布一些离线计算的信息。只有结果会发布到精简的数据库,即它包含结果,而不是原始数据,但网站需要查询结果。
我将使用 Flask,因为我的模型已经使用 Python 驱动(并且通过 SWIG 在 C++ 中进行了一些繁重的工作)并且我不想使用 Django。
现在,在我确定之前已经问过这个问题,通常没有太多理由的口头禅是“使用 Flask-SQLAlchemy”。问题是为什么?
如果我自己编写一些会话处理,为什么我必须在 Flask-SQLAlchemy 中重新定义我的数据库的附加层。除了必须在我的 Flask 应用程序中的某个地方编写一些类似 here 的代码:
@app.before_request
def before_request():
g.db = connect_db()
@app.teardown_request
def teardown_request(exception):
db = getattr(g, 'db', None)
if db is not None:
db.close()
我还需要担心什么? SQLAlchemy 甚至默认为我做连接池。
【问题讨论】:
标签: python flask sqlalchemy flask-sqlalchemy