我尝试为我的资源实现put处理程序。代码如下:
class Settings(restful.Resource):
def put(self):
settings = request.form['settings']
print settings
我是这样把数据放在那里的:
import requests
url='http://localhost:8000/settings'
data = {'settings': {
'record': {
'b': 'ok',
'c': 20,
'd': 60,
},
'b': {
'c': {
'd': 3,
'e': 2,
'f': 2,
},
'd': 5,
'a': 'voice',
'k': {
'l': 11.0,
'm': 23.0,
},
}
}
}
requests.put(url, data)
在我的控制台中只有record
打印出来,所以当我进行验证时,它失败了,因为数据不是字典。我不知道怎么了。你知道吗
它看起来与Flask RESTful Quickstart中的代码相同,如果我做对了requests
可以使用字典。你知道吗
当您作为
data
参数传入字典时,requests
将数据编码到``application/x-www-form-urlencoded`,就像浏览器表单一样。此编码格式不支持(有序、非唯一)键值序列之外的结构化数据。你知道吗不要使用
application/x-www-form-urlencoded
发布结构化数据。改用JSON:然后在Flask中使用^{} 再次加载有效负载:
如果您使用的是
requests
version 2.4.2或更新版本,也可以将JSON编码保留在requests
库中;只需将data
对象作为json
关键字参数传入即可;还将设置正确的内容类型头:请注意,这样您就不必自己调用
json.dumps()
。你知道吗相关问题 更多 >
编程相关推荐