flask视图中的上下文

首先我们来讲一下上下文,什么是上下文呢,上下文相当于一个容器,保存了Flask程序运行过程中的一些信息。

Flask中有两种上下文,请求上下文和应用上下文。

1、请求上下文(request content):在Flask中,可以直接在视图函数中使用request这个对象进行获取相关的数据,而request就是请求上下文的对象,保存了当前本次请求的相关数据,请求上下文对象有:request,session。

        1.1、request:封装了HTTP请求的内容,针对的是http请求,举例:user = request.args.get("user"),获取的是get请求的参数。

        1.2、session:用来记录请求会话中的信息,针对的是用户信息,举例:session["name"] = suer.id,可以记录用户信息,还可以通过session.get("name")获取用户信息。

2、应用上下文(application content):它的字面意思是应用上下文,但它并不是一直存在的,它只是request content 中的一个对app的代理,所谓local proxy。它的作用主要是帮助request 获取当前的应用,它是伴随request而生,随request而灭的。应用上下文的对象有:content_app , g

        1.1、current_app: 应用程序上下文,用于存储应用程序中的便量,可以通过current_app.name打印当前app的名称,也可以在current_app中存储一些变量。例如:

                1)应用的启动脚本是哪个文件,启动指定了哪些参数

                2)加载了哪些配置文件,导入了哪些配置

                3)连了哪些数据库

                4)有哪些public的工具类,常量

                5)应用跑在哪个机器上,内存多大

                current_app.name

                current_app.test_value = "value"

        1.2、g变量:g作为Flask程序中的一个临时变量,充当着中间媒介的作用,我们可以通过它传递一些数据,g保存的是当前请求的全局变量,不同的请求会有不同的全局变量,通过不同的thread id区别。g.name = "abc"

3、两者区别:

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

        3.2、应用上下文:flask应用程序运行过程中,保存了一些配置信息,比如程序名、数据库连接、应用信息等。















  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值