Flask / Python 3:如何解析包含关联数组的url?

时间:2018-06-04 21:11:44

标签: python url flask

我想从这个url获取一个包含所有过滤器和页面相同的元组数组。

filter = [('product_type', 'audio'),  ('feature_configuration_menu' , 'volume')]

我的网址:

curl -X GET 'http://127.0.0.1:5000/api/my_resource?filter[product_type]=audio&filter[feature_configuration_menu]=volume&page[number]=1&page[offset]=5

我使用框架烧瓶,python 3

@api.route('/my_resource', methods=['GET'])
def my_resource():
   # From `request.args` I would like this :
   # filter = [('product_type', 'audio'),  ('feature_configuration_menu' , 'volume')]

   return jsonify({'key': 'value'})

谢谢

在PHP中它非常简单$ _GET ['过滤器']并且它会为您提供一个数组(' product_type' =>' audio' ,' feature_configuration_menu' =>'卷')。为什么在Python上如此困难??

1 个答案:

答案 0 :(得分:0)

不确定烧瓶是否可以正确处理您的网址。 事件,如果它不完美,我会这样做

您的网址:

http://127.0.0.1:8080/my_resource?filter=product_type-audio&filter=feature_configuration_menu-volume&page=number-1&page=offset-5

WS:

@app.route('/my_resource', methods=['GET'])
def my_resource():
    # From `request.args` I would like this :
    # filter = [('product_type', 'audio'),  ('feature_configuration_menu' , 'volume')]

    filter = [tuple(filter.split('-')) for filter in request.args.getlist('filter')]

    return jsonify(filter)