Flask  request 对象介绍

 更新时间:2021年12月02日 11:53:21   作者:tigeriaf  
本文介绍 Flask  request 对象,一个完整的 HTTP 请求,包括客户端向服务端发送的Request 请求和服务器端发送 Response 响应.为了能方便访问获取请求及响应报文信息,Flask 框架提供了一些内建对象,下面就来说一下 Flask 针对请求提供内建对象reques,需要的朋友可以参考一下

前言:

一个完整的 HTTP 请求,包括客户端向服务端发送的 Request 请求和服务器端发送的 Response 响应。为了能方便的访问获取请求及响应报文信息,Flask 框架提供了一些内建对象,下面就来说一下 Flask 针对请求提供的内建对象request

1、request请求对象

request请求对象封装了从客户端发来的请求报文信息,我们能从request对象上获取请求报文中的所有数据。 其大部分功能是由依赖包Werkzeug完成的,Flask 做了一些特定功能的封装,形成了request请求对象。

1.1request请求对象的使用

 导入flask包中的request对象,就可以直接在请求函数中使用该对象了。

from flask import request

@app.route('/user', methods=['GET', 'POST'])

def user():

    if request.method == 'POST':

        user_name = request.form['user_name']

        return 'user :{} add success!'.format(user_name)



    else:

        user_id = request.args.get('user_id', 0)

        return 'Hello user:{}!'.format(user_id)

上述代码中:request对象中的method变量可以获取当前请求的方法,即GET、POST、PUT、DELETE等;form变量获取POST请求form-data表单中的数据,本质是一个字典,如果提交的表单中没有user_name,则会返回 400 Bad Request 的错误,当然也可以使用异常捕获机制处理。request.args.get()方法获取的是GET请求的url中的参数(问号?之后的部分),第一个参数指定获取的 url 参数的 key,第二个参数指定默认值,当 key 不存在时,则返回默认值。

如下:

GET请求

POST请求

除此之外,请求报文中的其他信息都可以通过 request 对象提供的属性和方法获取,常用的部分如下:

  • url:请求的 url
  • args:WerkzeugImmutableMultiDict 对象,存储解析后的查询字符串,可通过字典方式获取键值
  • blueprint:当前蓝本的名称
  • cookies:一个包含所有随请求提交的 cookies 的字典
  • data:包含字符串形式的请求数据
  • endpoint:于当前请求相匹配的端点值
  • files:Werkzeug MultiDict 对象,包含所有上传文件
  • form:Werkzeug ImmutableMultiDict 对象,包含解析后的表单数据
  • values:WerkzeugCombinedMultiDict 对象,结合了 args form 属性的值
  • get_data(cache=True,as_text=False,parse_from_data=False):获取请求中的数据,默认读取为字节字符串(bytestring),as_text为True则返回解码后的unicode字符串
  • get_json(self,force=False,silent=False,cache=True):作为 json 解析并返回数据,如果 MIME 类型不是 json,返回 None(除非 force 设为 True);解析出错则抛出Werkzeug提供的 BadRequest 异常(如果未开启调试模式,则返回400错误响应),如果 silent 设为 True 则返回 None;cache 设置是否缓存解析后的 json 数据
  • headers:WerkzeugEnvironHeaders 对象,包含请求的头部字段
  • json:包含解析后的 json 数据,内部调用 get_json(),可通过字典的方式获取键值
  • method:请求的 HTTP 方法
  • referrer:请求发起的源 url,即 referer
  • scheme:请求的URL模式(http 或 https)
  • user_agent:用户代理(User Agent),包含了用户的客户端类型,操作系统类型等信息

到此这篇关于 Flask  request 对象详情的文章就介绍到这了,更多相关 Flask  request 对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Python Pathlib模块一站式解决文件路径难题

    使用Python Pathlib模块一站式解决文件路径难题

    在本文中,将详细介绍pathlib模块,包括如何创建路径、检查文件和目录的存在、遍历目录、执行文件操作等,此外,还将提供丰富的示例代码来演示如何使用pathlib模块来处理文件和目录
    2023-11-11
  • python读写配置文件操作示例

    python读写配置文件操作示例

    这篇文章主要介绍了python读写配置文件操作,结合实例形式分析了Python针对ini配置文件的读取、解析、写入等相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • Pandas JSON的处理使用

    Pandas JSON的处理使用

    Pandas提供了强大的方法来处理JSON格式的数据,本文就来介绍一下Pandas JSON的处理使用,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • Django 外键查询的实现

    Django 外键查询的实现

    今天学习了一下外键查询的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • python制作可视化GUI界面自动分类管理文件

    python制作可视化GUI界面自动分类管理文件

    这篇文章主要为大家介绍了python制作可视化GUI界面实现自动分类管理文件,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python基于OpenCV模板匹配识别图片中的数字

    python基于OpenCV模板匹配识别图片中的数字

    这篇文章主要介绍了python基于OpenCV模板匹配识别图片中的数字,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • pip命令突然无法使用问题以及解决

    pip命令突然无法使用问题以及解决

    当你在使用pip安装Python库时遇到问题,可以尝试以下两种解决方案,第一种是直接在Scripts文件夹内使用CMD命令进行安装,第二种是将Scripts的路径设置为系统环境变量,这样就可以直接在dos中使用pip install进行安装了,以上解决方案仅供参考,如有更好的方法欢迎交流分享
    2024-10-10
  • Python虚拟环境virtualenv的安装与使用详解

    Python虚拟环境virtualenv的安装与使用详解

    virtualenv可以用来管理互不干扰的独立python虚拟环境,在有些场景下非常有用,下面这篇文章主要给大家介绍了Python虚拟环境virtualenv安装与使用的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • Python Flask实现后台任务轻松构建高效API应用

    Python Flask实现后台任务轻松构建高效API应用

    本文介绍如何使用Python Flask框架实现后台任务,以快速构建高效的API应用。通过实例演示,读者将学会如何利用Flask框架搭建后台任务,实现异步处理和多线程操作等高级功能,提升应用性能和用户体验
    2023-04-04
  • 解决Python3错误:SyntaxError: unexpected EOF while parsin

    解决Python3错误:SyntaxError: unexpected EOF while

    这篇文章主要介绍了解决Python3错误:SyntaxError: unexpected EOF while parsin问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论