在瓶,让我们说我有10个输入形式:
<form method="POST" action="/machine" enctype="multipart/form-data">
<input type="text" name="one" placeholder="one" required>
<input type="text" name="two" placeholder="two" required>
...
<input type="text" name="ten" placeholder="ten" required>
</form>
我想接着处理所有可能的输入和不希望通过单独调用POST路线上每一个静态做到这一点(例如request.forms.get(“1”))。
有没有一种方法来处理表单中的所有输入。我已经看到request.params和request.query ...
@route('/machine', method='POST')
def machine_learn():
my_dict = dict(request.params)
return str(my_dict)
...但不完全了解我如何使用这些来获取所有输入数据不是词典列表。当我使用上面的代码,我得到一个空的字典
任何帮助表示赞赏。
request.forms
返回在请求中的所有输入的Python Dictionary。
所以,你可以动态地处理请求,这样
for key, value in request.forms.items():
print("For name " + key + ", the value is " + value)
只是一些额外的帮助。
def merge_dicts(*args):
result = {}
for dictionary in args:
result.update(dictionary)
return result
class Api(object):
def __init__(self, user, request, option):
self.user = user
self.option = option
self.payload = merge_dicts(dict(request.forms), dict(request.query.decode()))
现在,这可以采取任何形式,或查询后并结合成一个有效载荷。究其原因,dict()
是因为瓶子在技术上不会返回一个真正的字典,取而代之的则是不有一个适当的字典的所有功能FormsDict。这使得这一过程简单,一切都变成字典。