发送表单数组到Flask
我有一个HTML表单,其中包含多个像这样命名的输入:
<input name="hello[]" type="text" /><input name="hello[]" type="text" />
<input name="hello[]" type="text" />
在PHP中,你可以将其作为数组获取,但是在Python中,使用Flask的方式是否相同?
我已经试过了:
hello = request.form['hello']print(hello)
但这没有用,我得到了400 Bad Request:
Bad RequestThe browser (or proxy) sent a request that this server could not understand.
如何在Flask中进行操作?
回答:
你遵循的PHP约定是在字段名称中添加方括号。它不是Web标准,但是因为PHP开箱即用,因此很流行。Ruby on Rails也使用它。
如果确实使用该约定,则要在Flask一侧获取POST数据,你需要在字段名称中包括方括号。你可以使用来检索列表的所有值MultiDict.getlist()
:
hello = request.form.getlist('hello[]')
当然,你根本不必使用[]
约定。[]
在hello
名称中不附加可以很好地工作,这时你将request.form.getlist('hello')
在Flask中使用该名称。
以上是 发送表单数组到Flask 的全部内容, 来源链接: utcz.com/qa/410325.html