python - Flask:request.form.getlist不会返回任何条目

标签 python forms post flask

由于某种原因,我无法让我 4 周前工作的东西正常工作:/ 我有一个网站,我通过 jQuery 添加一个检查按钮,我需要 Flask 来读出它是否被检查。 我做了一个最小的例子,但它仍然不起作用。

代码如下:

post.htm

<html>
<body>
<form name="formular" action='http://127.0.0.1:5000/formtest' method="post">
<input type="checkbox" value="test1">
<INPUT type ="submit" id="send" value="Do it"/>
</form>
</body>
</html>

webserver.py

@app.route('/formtest', methods=['POST'])
def formtest():
    checklist = request.form.getlist('test1')
    if checklist:
        check = True
    else:
        check = False
    if check:
        return("checked")
    else:
        return("not checked")

它总是返回“未检查”,但我不明白为什么。 list 始终是一个空列表。错误在哪里?

提前致谢!

最佳答案

您的复选框没有 name 属性;它永远不会作为 POST 的一部分发送。为其指定一个 name 属性和一个值:

<input type="checkbox" name="test1" value="true">

这里不要使用MultiDict.getlist();您可以使用MultiDict.get()使用默认值和类型转换:

@app.route('/formtest', methods=['POST'])
def formtest():
    check = request.form.get('test1', default=False, type=bool)
    return 'checked' if check else 'not checked'

关于python - Flask:request.form.getlist不会返回任何条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24204118/

相关文章:

python - 如何用多行编写 python lambda?

python - 当某些原始值相同时反转字典

python - 在python中将2d数组转换为3d数组

html - 减少/增加下拉列表的宽度(选项标签)

javascript - jquery - 动态添加字段到表单 - 提交表单时帖子丢失数据

PHP:将类实例传递到另一个页面?

c++ - curl 发布空对象

python - 无法使用请求解析特定页面之后的链接

python - Pandas 十六进制到文本的转换

forms - zf2 表单绑定(bind)对象问题