I have a form that sends parameters. In my form I have a checkbox. If my checkbox is not checked then I will not get any parameters.
If in my module I have :
var = request.form.get('checkbox')
This will return None
if the parameter is not defined.
The reason for this is hidden in the flask documentation here: http://flask.pocoo.org/docs/api/#flask.Flask.trap_http_exception
I'm not sure why this behaviour isn't changed for debugging mode, but to get Flask to catch the BadRequestKeyError exceptions from werkzeug, you need to run something like this on your application object:
app.config['TRAP_BAD_REQUEST_ERRORS'] = True
I had similar issue during validation of single boolean field.
I solved it by using remember = form.rememberme.data
instead of request.form['remember_me']