gpa*_*sse 10 python werkzeug flask
我有一个发送参数的表单.在我的表格中,我有一个复选框.如果没有勾选我的复选框,那么我将不会获得任何参数.
如果在我的模块中我有:
var = request.form['mycheckbox']
Run Code Online (Sandbox Code Playgroud)
并且如果未选中我的复选框(参数未通过)
然后在调试模式下,我收到错误消息:
错误请求浏览器(或代理)发送了此服务器无法理解的请求.
什么都没告诉我错误是什么.
我使用以下方法阻止了异常:
try:
var=request.form['checkbox']
except:
var=None
Run Code Online (Sandbox Code Playgroud)
但是,我能不能改变Flask如何处理这种情况的行为?
Fog*_*ird 15
var = request.form.get('checkbox')
Run Code Online (Sandbox Code Playgroud)
None
如果未定义参数,则返回此选项.
其原因隐藏在烧瓶文档中:http://flask.pocoo.org/docs/api/#flask.Flask.trap_http_exception
我不确定为什么这种行为不会因为调试模式而改变,但为了让Flask从werkzeug中捕获BadRequestKeyError异常,你需要在你的应用程序对象上运行这样的东西:
app.config['TRAP_BAD_REQUEST_ERRORS'] = True
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4490 次 |
最近记录: |