我正在使用Flask Restful作为我的服务器API,并在服务器上发布一个字典,其中一个值是字典列表.
parser.add_argument('products_in_basket', type=list)
def post(self, user_id):
args = parser.parse_args()
print request.data
print args['my_list']
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是args ['my_list']只返回列表的第一个元素.而我可以从request.data看到所有列表.
这是request.data
{"address_id":1,"my_list":[{"size":12,"colour":"red","id":34219,"quantity":1},{"size":10,"colour":"red","id":12219,"quantity":2},{"size":8,"colour":"red","id":5214,"quantity":3}],"payment_card_id":1}
Run Code Online (Sandbox Code Playgroud)
这是args ['my_list']
[u'colour', u'quantity', u'id', u'size']
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
你的解析器add_argument选项是什么?是products_in_basket请求数据的实际密钥吗?或者您是否尝试提供任意名称和/或重命名字典?
看看 多重价值和收藏从请求解析文档.
你可能希望做这样的事情......
parser = reqparse.RequestParser()
parser.add_argument('my_list', action='append')
Run Code Online (Sandbox Code Playgroud)