@app.teardown_appcontext

anyutianjian Flask 开发基础与入门 最后由 shin0922 于2016年05月15日回复

  • 1 回答
  • 3.5k 浏览

@app.teardown_appcontext
def close_db(error):
"""Closes the database again at the end of the request."""
if hasattr(g, 'sqlite_db'):
g.sqlite_db.close()
请教老师,@app.teardown_appcontext 环境销毁时调用?不知道什么到底是什么时候会执行后面的方法。看注释写的是请求结束后,比如说我执行了一条查询数据库,然后显示内容,后面没有其他操作了这算请求结束了吗?

  • shin0922 2016年05月15日 回答 #1楼
  • 不是环境销毁销毁时调用。

    是一次请求结束时调用。

    teardown_appcontext这个装饰器的作用就是向请求上下文中注册一个函数,当上下文销毁时调用,实际就是一次请求处理完成时。

    你可以参考Flask的官方文档,更加详细的说明:http://flask.pocoo.org/docs/0.10/api/

  • 0 评论