使用Flask从POST获取值列表

6 投票
1 回答
8055 浏览
提问于 2025-04-18 04:30

我在用Flask做一个简单的网页,想要从网页上获取一系列的值。这些值是通过最多60个复选框提交的,所有复选框的名字都是“state”。但是我发现,下面的代码只返回了列表中的第一个值,而我需要所有的值来进行后续处理:

.@app.route('/doCheck', methods = ['POST']) 
def doCheck():    
    d = request.form['state'] 

我试着用.getList()这个方法,像这样:

    d = request.form.getList('state')
    return d

...但出现了这个错误:AttributeError: 'ImmutableMultiDict'对象没有'getList'这个属性。

于是我又试了这个:

    d = getList(request.form)
    return d

...结果出现了错误NameError: name 'getList' is not defined。

这似乎说明我应该包含一个方法或类,但我该用哪个呢?

1 个回答

13

这个方法叫做 getlist,注意这里的 L 是小写的:

states = request.form.getlist('state')

撰写回答