flask的Request对象

一、基本原理

  • flask的Request是flask接受request请求的关键对象,它将request请求解析并生成了Request对象,方便后台程序处理
  • request对象在flask是全局对象,在全局可用的优点是对于我们操作起来是非常方便的,随时在处理模块中import flask.request就行了
  • 虽然为全局对象却是线程安全的(因为用到了上下文本地化)
  1. 线程安全问题都是由全局变量和静态变量引起的
  2. 若是每个线程对于全局变量,静态变量只有读操作而没有写操作,那么这个变量是线程安全的,若多个线程同时对变量进行写操作,必须要考虑线程同步
  3. 对一个线程,上下文(context)指的是装有这个线程的容器,其中包含了各种变量和信息,以便于切换回这个线程的时候能够恢复之前的状态
  4. 因此flask中request对象被设计成上下文本地化的线程,仅仅在当前的上下文中是全局变量(相对全局),因此是线程安全
  • 总结flask的request对象工作模式:接收到一个request,生成一个线程来处理它,并生成这个线程的上下文来存储线程中的变量,数据,参数等等,此时request对象是这个线程上下文内的全局变量

   (附上自己的手绘图来理解)

 

 

二、request对象的方法和属性

args

解析后的form提交的参数

files

为一个dict,解析后的form上传的文件

host

 

path

 

environ

 

headers

 

data

body元数据

json

json的body数据

cookies

指向cookies的链接

 

转载于:https://www.cnblogs.com/DylanHooz/p/6389031.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:在这个引用中,是关于使用Python的Django框架中的request对象的一些操作。通过request对象可以获取请求的地址、请求的方法以及请求的参数。其中,通过request.GET.get('hobby')可以获取指定key对应的值,而通过request.GET.getlist('hobby')可以获取指定key对应的所有值。这些操作可以在开发中用于获取请求的信息和参数。\[1\] 引用\[2\]:这个引用是关于使用FDL(Flash Download Library)的源码分析。FDL是一个用于将数据写入Flash并读取出来的库。在这个源码中,首先进行了初始化操作,然后根据request结构体参数的不同进行不同的动作。源码的功能是将一个buf\[5\]的数据写入Flash并读取出来。\[2\] 引用\[3\]:这个引用是关于使用Python的Django框架中的request对象的一些操作。在这个引用中,通过request对象可以获取请求的参数。通过request.POST.get('passwd')可以获取POST请求中的passwd参数的值。\[3\] 问题:flask 没有找到request 回答: Flask是另一个流行的Python Web框架,它也提供了类似于Django中的request对象的功能。在Flask中,可以通过导入flask模块中的request对象来使用。例如,可以使用request.args.get('hobby')来获取GET请求中的hobby参数的值,使用request.form.get('passwd')来获取POST请求中的passwd参数的值。所以,如果在Flask中没有找到request对象,可能是因为没有正确导入或使用了相应的模块。请确保在使用Flask时正确导入并使用了flask模块中的request对象。 #### 引用[.reference_title] - *1* *3* [request](https://blog.csdn.net/weixin_40688956/article/details/78810125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [瑞萨R78族Flash读写操作详细探讨](https://blog.csdn.net/health_/article/details/117699634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值