Flask没有获得复选框的值

当我点击提交按钮时,我试图打印出Flask中的复选框值。

app.py片段:

@app.route('/test2', methods=['GET', 'POST'])

def test2():

if request.method == "POST":

if request.form['submit'] == 'submit':

print(request.args.get('check'))

return render_template('test.html')

HTML:

<div class="container"><br>

<form role="form" method="post">

<input type="checkbox" name="check" value="test">

<button type="submit" name="submit" value="submit">Submit</button>

</form>

</div>

当我按下“提交”按钮时,它将返回“无”。

我也尝试过request.form.get()

@app.route('/test2', methods=['GET', 'POST'])

def test2():

if request.method == "POST":

if request.form['submit'] == 'submit':

print(request.form.get('check'))

return render_template('test.html')

这也将返回“无”。

回答:

提交HTML表单时,未选中的复选框不会发送任何数据。在Flask方面,form由于没有接收到任何值,因此不会有key 。如果要检查是否选中了一个复选框(具有唯一的名称),只需测试其名称是否在中form。如果要检查选中多个复选框(具有相同名称)中的哪个,请getlist改用。

一个布尔值:

<input type="checkbox" name="check">

checked = 'check' in request.form

多种选择:

<input type="checkbox" name="check" value="1">

<input type="checkbox" name="check" value="2">

<input type="checkbox" name="check" value="3">

selected = request.form.getlist('check')

any_selected = bool(selected)

以上是 Flask没有获得复选框的值 的全部内容, 来源链接: utcz.com/qa/423744.html

回到顶部