Flask中request参数

首先要明确一件事,Request这是个对象,不管使用PHP还是python还是什么java语言,虽然request这个对象可能叫的名字不一样,(在其他语言中可能叫什么HttpRequest),但是原理都是差不多。我们客户端发送请求给服务器,发送的就是这个Request对象。我们不能简单的以为我们在地址栏打了一行:www.xxxx.com 就以为请求就这点东西,其实Request对象里面包含了你要发送给服务器的很多东西。这节内容和之前的基础知识中的Http相呼应。

在Flask中,Request对象就叫做request,可以直接引用:from flask import request

上下文(context):

一直看到这个东西,却不知道这是个什么玩意,难以理解。简单说一下什么是请求上下文:我们客户端发送了请求给服务器,那么这个request对象就发送过去了。服务器那边就接收到了这个request,那么就可以使用一系列方法读取这个request对象中的内容(比如使用request.method 显示它用GET还是POST方式提交的,使用request.path  查看它请求的路径是什么)。而我们如果浏览器没有发送请求,那么在服务器端,你去使用request.method这些方法就会报错,因为这些方法需要客户端发送过来请求才能执行,也就是说,某些方法的执行需要一系列操作作为基础,需要前因后果这种关系(说的比较抽象),而这种前因后果就可以通俗理解为上下文。

form
一个包含解析过的从 POST 或 PUT 请求发送的表单对象的 MultiDict 。请注意上传的文件不会在这里,而是在 files 属性中。

args
一个包含解析过的查询字符串( URL 中问号后的部分)内容的 MultiDict 。

values
一个包含 form 和 args 全部内容的 CombinedMultiDict 。

cookies
一个包含请求中传送的所有 cookie 内容的 dict 。

stream
如果表单提交的数据没有以已知的 mimetype 编码,为性能考虑,数据会不经修改存储在这个流中。大多数情况下,使用可以把数据提供为字符串的 data 是更好的方法。流只返回一次数据。

headers
进入请求的标头存为一个类似字典的对象。

data
如果进入的请求数据是 Flask 不能处理的 mimetype ,数据将作为字符串存于此。

files
一个包含 POST 和 PUT 请求中上传的文件的 MultiDict 。每个文件存储为 FileStorage 对象。
其基本的行为类似你在 Python 中见到的标准文件对象,差异在于这个对象有一个 save() 方法可以把文件存储到文件系统上。

environ
底层的 WSGI 环境。

method
当前请求的 HTTP 方法 (POST , GET 等等)

path
script_root
url
base_url
url_root
提供不同的方式来审视当前的 URL 。想象你的应用监听下面的 URL:

http://www.example.com/myapplication
并且用户请求下面的 URL:

http://www.example.com/myapplication/page.html?x=y
这个情况下,上面提到的属性的值会为如下:

path             /page.html
script_root      /myapplication
base_url         http://www.example.com/myapplication/page.html url http://www.example.com/myapplication/page.html?x=y url_root http://www.example.com/myapplication/

 

转载于:https://www.cnblogs.com/niuli1987/p/10439917.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框架,它也提供了类似于Djangorequest对象的功能。在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、付费专栏及课程。

余额充值