Max*_*oer 2 python flask flask-sqlalchemy
我用 Flask 创建了一个 python web 应用程序,似乎我遇到了与数据库的连接问题。我认为这是因为我没有在代码中的某个地方关闭会话。
我有
db = SQLAlchemy(app)
Run Code Online (Sandbox Code Playgroud)
用于数据库和使用
@views.route('/test/', methods=['GET', 'POST'])
def test():
db.session.add(something)
db.session.commit()
@views.route('/another_page/', methods=['GET', 'POST'])
def page():
some_records = User.query.get(some_ids)
Run Code Online (Sandbox Code Playgroud)
用于将记录添加到数据库中。
在这种情况下,我什么时候必须关闭会话?有没有办法在用户离开后关闭连接?每次数据库完成一个页面时我都应该关闭吗?查询后是否需要关闭连接?
该文档接下来说:
与声明式方法一样,您需要在每次请求或应用程序上下文关闭后关闭会话。将其放入您的应用程序模块中:
from yourapplication.database import db_session
@app.teardown_appcontext
def shutdown_session(exception=None):
db_session.remove()
Run Code Online (Sandbox Code Playgroud)
UPD:对于 Flask-SQLAlchemy,该人员是硬编码的,因此您在开发时不需要关心它。
| 归档时间: |
|
| 查看次数: |
1472 次 |
| 最近记录: |