高频面试题之Flask框架的上下文

简介: Flask框架中分为2种上下文: 请求上下文(request context)和应用上下文(app context) 一般面试的问点在于:两种上下文是什么? 有什么区别? 什么场景下使用?

高频面试题之Flask框架的上下文

Flask框架中分为2种上下文: 请求上下文(request context)和应用上下文(app context)

一般面试的问点在于:两种上下文是什么? 有什么区别? 什么场景下使用?

Flask框架-请求上下文

请求上下文: 保存了客户端和服务器交互的报文数据。

一般像request对象和session对象都在请求上下文的环境中。

作用:

Flask从客户端收到请求时,要让视图函数能访问一些对象,这样才能处理请求。请求对象是一个很好的例子,它封装了客户端发送的HTTP请求。要想让视图函数能够访问请求对象,一个显而易见的方式是将其作为参数传入视图函数,不过这会导致程序中的每个视图函数都增加一个参数request(Django框架的视图函数就是这么实现的),除了访问请求对象,如果视图函数在处理请求时还要访问其他对象,情况会变得更糟。所以通过请求上下文可以保存request对象方便使用!

场景:

1.request对象的参数解析,校验

2.session对象的操作

Flask框架-应用上下文

应用上下文:在程序运行过程中, 上下文中保存了一些需要运行的一些数据。

一般像:配置信息, current_app, g对象都在应用上下文环境中。

手动创建上下文的两种方法:

1. with app.app_context() 
2. app = current_app._get_current_object()

作用:

应用上下文不是一直存在的,它只是request context 中的一个对 app 的代理(人),所谓local proxy。它的作用主要是帮助 request 获取当前的应用,一次会话会产生一次应用上下文。主要是方便我们在处理业务逻辑的时候方便使用项目整体配置, current_app, g对象保存的数据。

场景 :

1.利用g对象传递业务数据

2.current_app获取整个应用的配置项

相关文章
|
2月前
|
搜索推荐 数据可视化 数据挖掘
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
本文介绍了一个基于Python Flask框架的招聘数据分析推荐系统,该系统具备用户登录注册、数据库连接查询、首页推荐、职位与城市分析、公司性质分析、职位需求分析、用户信息管理以及数据可视化等功能,旨在提高求职者的就业效率和满意度,同时为企业提供人才匹配和招聘效果评估手段。
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
|
4天前
|
JSON 测试技术 数据库
|
4天前
|
安全 数据安全/隐私保护 Python
基于Flask框架实现一个简易后台用户登录系统
基于Flask框架实现一个简易后台用户登录系统
11 1
|
15天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
28天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
4天前
|
人工智能 安全 数据安全/隐私保护
基于Flask框架实现一个简易后台用户登录系统
基于Flask框架实现一个简易后台用户登录系统
10 0
|
28天前
|
存储 安全 数据库
Flask框架中,如何实现用户身份验证和会话管理
Flask框架中,如何实现用户身份验证和会话管理
|
1月前
|
数据库 Python
如何开始使用Flask框架
【9月更文挑战第1天】如何开始使用Flask框架
24 3
|
2月前
|
Go API 数据库
[go 面试] 分布式事务框架选择与实践
[go 面试] 分布式事务框架选择与实践
|
2月前
|
前端开发 开发者 Python
Flask框架之谜:如何用Blueprints神技轻松制胜模块化应用?
【8月更文挑战第31天】随着Flask应用规模扩大,代码管理和模块化变得至关重要。Blueprints作为Flask提供的强大工具,支持将应用分割成包含独立路由、视图、模板和静态文件的模块,从而提高代码清晰度与重用性。本文通过创建前端和后台管理两个蓝图的示例,展示了如何在Flask中使用Blueprints实现应用模块化,简化大型应用开发与维护工作,提升代码结构的清晰度及团队协作效率。
13 0
下一篇
无影云桌面