Flask 接收请求参数

1,201 阅读1分钟

1.获取请求url参数

从请求url中获取参数,并使用jsonify返回json数据。

@app.route('/user/<id>')
def get_user_by_id(id):
    # 获取url中的参数
    return jsonify({"message": id})

2.获取url参数

从请求url中获取参数,获取?后面的参数,并使用jsonify返回json数据。

@app.route('/user_by_args')
def get_user_by_args_id():
    id = request.args.get("id")
    # 获取url中的参数
    return jsonify({"message": id})

3.获取body中的json参数

从请求body中读取json参数数据。

@app.route('/user_by_json', methods=['POST'])
def get_user_by_json():
    # 获取body数据
    get_data = request.get_json()
    username = get_data.get('username')
    return jsonify(username=username)

4.从form表单中获取参数

从form表单中获取参数。

@app.route('/user_by_form', methods=['POST'])
def get_user_by_form():
    # 获取form表单数据
    username = request.form.get('username')
    return jsonify({"username": username})

5.重定向跳转

通过函数名称,进行重定向跳转。

@app.route('/user/redirect')
def redirect_hi():
    # 重定向,支持函数名称进行跳转
    return redirect(url_for('hello_world'))

6.整体示例

from flask import Flask, request, jsonify, redirect, url_for

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


# localhost:5000/10
@app.route('/user/<id>')
def get_user_by_id(id):
    # 获取url中的参数
    return jsonify({"message": id})


# localhost:5000/user_by_args?id=10
@app.route('/user_by_args')
def get_user_by_args_id():
    id = request.args.get("id")
    # 获取url中的参数
    return jsonify({"message": id})


@app.route('/user_by_json', methods=['POST'])
def get_user_by_json():
    # 获取body数据
    get_data = request.get_json()
    username = get_data.get('username')
    return jsonify(username=username)


@app.route('/user_by_form', methods=['POST'])
def get_user_by_form():
    username = request.form.get('username')
    return jsonify({"username": username})


@app.route('/user/redirect')
def redirect_hi():
    # 重定向,支持函数名称进行跳转
    return redirect(url_for('hello_world'))


if __name__ == '__main__':
    app.run()