• 技术文章 >Python框架 >Flask

    flask如何接受不同post请求

    silencementsilencement2019-07-27 15:55:35原创5861

    一般来说,传递请求参数的方式有两种,一是打包成 JSON 之后再传递,二是直接放进 URL 进行传递 。对于第一种方式,一般用 POST 请求来传递参数,然后用 FLASK 中 request 模块的 get_json() 方法获取参数。而对于第二种方式,一般用 GET 请求传递参数,然后从 request.args 中用 get() 方法获取参数,不过需要说明的是用 POST 请求也可以通过 URL 的方式传递参数,而且获取参数的方式与 GET 请求相同。下面用代码来说明获取参数的过程。

    1. 获取 POST 请求参数

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    from flask import request, jsonify

     

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

    def post_data():

        # 假设有如下 JSON 数据

        #{"obj": [{"name":"John","age":"20"}] }

         

        # 方法一

        data = request.get_json()                # 获取 JSON 数据

        data = pd.DataFrame(data["obj"])   # 获取参数并转变为 DataFrame 结构

         

        # 方法二

        # data = request.json        # 获取 JOSN 数据

        # data = data.get('obj')     #  以字典形式获取参数

         

        # 经过处理之后得到要传回的数据

        res = some_function(data)

         

        # 将 DataFrame  数据再次打包为 JSON 并传回

        # 方法一

        res = '{{"obj": {} }}'.format(res.to_json(orient = "records", force_ascii = False))

        # 方法二

        # res = jsonify({"obj":res.to_json(orient = "records", force_ascii = False)})

        return res

    2. 获取 GET 请求参数

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    @app.route('/', methods = ["GET","POST"])   # GET 和 POST 都可以

    def get_data():

        # 假设有如下 URL

        # http://10.8.54.48:5000/index?name=john&age=20

     

        #可以通过 request 的 args 属性来获取参数

        name = request.args.get("name")

        age = request.args.get("startDate")

         

        # 经过处理之后得到要传回的数据

        res= some_function(name, age)

         

        # 将数据再次打包为 JSON 并传回

        resp = '{{"obj": {} }}'.format(res.to_json(orient = "records", force_ascii = False))

         

        return resp

    专题推荐:flask
    上一篇:flask怎么导入静态文件 下一篇:django和flask学哪个

    相关文章推荐

    • flask上下文到底是什么• flask怎么导入静态文件

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网