最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • flask如何接受不同post请求

    正文概述    2020-08-18   348

    flask如何接受不同post请求

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

    1. 获取 POST 请求参数

    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 请求参数

    @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如何接受不同post请求

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元