Sco*_*tt 3 python checkbox request 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')
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
点击提交按钮后返回"无".
我也试过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')
Run Code Online (Sandbox Code Playgroud)
这也返回'无'.
dav*_*ism 13
提交HTML表单时,未选中的复选框不会发送任何数据.在Flask的一侧,没有钥匙form,因为没有收到任何价值.如果要检查是否选中了一个复选框(具有唯一名称),只需测试它的名称是否在form.如果要检查选中了多个复选框(具有相同名称)中的哪一个,请getlist改用.
一个布尔值:
<input type="checkbox" name="check">
Run Code Online (Sandbox Code Playgroud)
checked = 'check' in request.form
Run Code Online (Sandbox Code Playgroud)
多种选择:
<input type="checkbox" name="check" value="1">
<input type="checkbox" name="check" value="2">
<input type="checkbox" name="check" value="3">
Run Code Online (Sandbox Code Playgroud)
selected = request.form.getlist('check')
any_selected = bool(selected)
Run Code Online (Sandbox Code Playgroud)