How to get data received in Flask request
I want to be able to get the data sent to my Flask app. I've tried accessing request.data
but it is an empty string. How do you access request data?
@app.route('/', methods=['GET', 'POST'])
def parse_request():
data = request.data # data is empty
# need posted data here
The answer to this question led me to ask Get raw POST body in Python Flask regardless of Content-Type header next, which is about getting the raw data rather than the parsed data.
The docs describe the attributes available on the request. In most common cases request.data
will be empty because it's used as a fallback:
request.data
Contains the incoming request data as string in case it came with a mimetype Flask does not handle.
request.args
: the key/value pairs in the URL query string request.form
: the key/value pairs in the body, from a HTML post form, or JavaScript request that isn't JSON encoded request.files
: the files in the body, which Flask keeps separate from form
. HTML forms must use enctype=multipart/form-data
or files will not be uploaded. request.values
: combined args
and form
, preferring args
if keys overlap All of these are MultiDict
instances. You can access values using:
request.form['name']
: use indexing if you know the key exists request.form.get('name')
: use get
if the key might not exist request.form.getlist('name')
: use getlist
if the key is sent multiple times and you want a list of values. get
only returns the first value. from flask import request
request.data
It is simply as follows
For URL Query parameter , use request.args
search = request.args.get("search")
page = request.args.get("page")
For Form input , use request.form
email = request.form.get('email')
password = request.form.get('password')
For data type application/json , use request.data
# data in string format and you have to parse into dictionary
data = request.data
dataDict = json.loads(data)
链接地址: http://www.djcxy.com/p/71904.html
上一篇: 如何上传和显示图像
下一篇: 如何获取Flask请求中收到的数据