Flask 的 request 对象
发布时间:2023-06-29 14:18:54 所属栏目:教程 来源:
导读:浏览器访问服务端时,向服务端发送请求。Flask 程序使用 request 对象描述请求信息,本小节介绍 request 对象的概念,以及它的重要属性:form 和 args,并对属性的使用给出一个例子。
1. 简介
浏览器访问服务端,
1. 简介
浏览器访问服务端,
浏览器访问服务端时,向服务端发送请求。Flask 程序使用 request 对象描述请求信息,本小节介绍 request 对象的概念,以及它的重要属性:form 和 args,并对属性的使用给出一个例子。 1. 简介 浏览器访问服务端,需要将相应的数据发送给服务端,可能有如下场景: 通过 URL 参数进行查询,浏览器需要将查询参数发送给服务端 提交表单 form 进行查询,浏览器需要将表单 form 中的字段发送给服务端 上传文件,浏览器需要将文件发送给服务端 服务端收到将客户端发送的数据后,封装形成一个请求对象,在 Flask 中,请求对象是一个模块变量 flask.request,它包含了如下常用属性: 属性 说明 method 当前的请求方法 form 表单参数及其值的字典对象 args 查询字符串的字典对象 values 包含所有数据的字典对象 json 如果 mimetype 是 application/json,这个参数将会解析 json 数据,如果不是则返回 None headers http 协议头部 cookies cookie 名称和值的字典对象 files 与上传文件有关的数据 假设 URL 等于 http://localhost/query?userId=123,request 对象中与 URL 参数相关的属性如下: 属性 说明 url http://localhost/query?userId=123 base_url http://localhost/query host localhost host_url http://localhost/ path /query full_path /query?userId=123 2. 获取 URL 相关参数 本节编写一个 Flask 程序 request-url.py,打印 request 中和 URL 相关的属性: from flask import Flask from flask import request app = Flask(__name__) def echo(key, value): print('%-10s = %s' % (key, value)) @app.route('/query') def query(): echo('url', request.url) echo('base_url', request.base_url) echo('host', request.host) echo('host_url', request.host_url) echo('path', request.path) echo('full_path', request.full_path) return 'hello' if __name__ == '__main__': app.run(port = ) 在浏览器中输入 http://localhost/query?userId=123,程序在终端输出如下: url = http://localhost/query?userId= base_url = http://localhost/query host = localhost host_url = http://localhost/ path = /query full_path = /query?userId= 3. 解析查询参数 request.args 保存了 URL 中的查询参数,下面编写一个例子 request-args.py 解析 URL 中的查询参数: from flask import Flask, request app = Flask(__name__) @app.route('/query') def query(): print('name =', request.args['name']) print('age =', request.args['age']) return 'hello' if __name__ == '__main__': app.run(debug = True) 在第 4 行,编写路径 /query 对应的处理函数 query(),打印查询参数 name 和 age 的值。在浏览器中输入 URL:http://localhost:5000/query?name=zhangsan&age=13 ,查询字符串为 name=zhangsan&age=13,包含有两个查询参数 name 和 age,Flask 程序在终端输出如下: name = zhangsan age = (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |