Flask Request 对象介绍
在本文中,我们将详细介绍 Flask Request 对象的用法和属性.
说明:一个不可变的 MultiDict 类型,包含了 POST 请求中的键值对.
说明:一个不可变的 Headers 类型,包含了请求头信息.
说明:一个不可变的 MultiDict 类型,包含了文件上传的信息.
说明:请求路径的字符串形式.
在 Flask 应用中,Request 对象除了拥有以上的属性,还提供了一些常用的方法,包括但不限于:
get(key, default=None, type=None):说明:获取一个参数的值.
参数:key:参数名.
default:默认值(如果参数不存在时使用).
type:值的类型(将参数转换成指定的类型).
示例:request.args.get("name", "no name", str)
getlist(key, type=None):说明:获取一个参数的值(如果有多个值则返回一个列表).
示例:request.args.getlist("favorite_colors", str)
get_json():说明:获取请求的 JSON 数据.
示例:request.get_json()
is_json:说明:判断请求是否是 JSON 格式.
示例:request.is_json
is_xhr:说明:判断请求是否是 AJAX 请求.
示例:request.is_xhr
以下是一个示例程序,演示如何获取 GET 请求的参数:
from flask import Flask, request
app = Flask(__name__)
@app.route("/hello")
def hello():
app.run(debug=True)
Hello, Bob!
Hello, no name!
以下是一个示例程序,演示如何获取 POST 请求的参数:
from flask import Flask, request
app = Flask(__name__)
@app.route("/login", methods=["POST"])
def login():
app.run(debug=True)
使用 POSTMAN 发送 POST 请求(Content-type 为 application/x-www-form-urlencoded),其中参数为 username=adminpassword=password:
Login success.
Login failed.