在 Flask 中,应用上下文和请求上下文是两个非常重要的概念,它们是 Flask 应用程序中的两个核心对象。以下是它们的简要概述:
应用上下文:应用上下文是 Flask 应用程序中的全局对象,它在整个应用程序中只有一个实例。应用上下文保存了 Flask 应用程序的配置信息、数据库连接、日志对象等全局对象,并提供了一些全局函数,如 current_app、g 等。应用上下文在应用程序启动时创建,当应用程序处理请求时,Flask 会自动将请求绑定到当前应用上下文,以便在请求处理过程中可以使用应用上下文中的全局对象和函数。
请求上下文:请求上下文是 Flask 应用程序中的局部对象,它在每个请求处理过程中都会创建一个新的实例。请求上下文保存了当前请求的信息,如请求头、请求参数、请求路径等,并提供了一些局部函数,如 request、session、url_for 等。请求上下文在应用程序处理请求时创建,当请求处理完成后,Flask 会自动将请求上下文销毁,以便释放资源和避免内存泄漏。
综上所述,应用上下文和请求上下文是 Flask 应用程序中的两个核心对象,它们分别保存了全局对象和局部对象,并提供了一些全局函数和局部函数,以便在应用程序处理请求时可以方便地访问和操作这些对象和函数。