When submitting an HTML form, unchecked checkboxes do not send any data. On Flask’s side, there will not be a key in form
, since no value was received. If you want to check if a single checkbox (with a unique name) is checked, just test if it’s name is in form
. If you want to check which of multiple checkboxes (with the same name, but different values) are checked, use getlist
instead.
One boolean:
<input type="checkbox" name="check">
checked = 'check' in request.form
Multiple options:
<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)