我希望能够使用 Flask 中的 abort() 显示自定义错误消息。我遇到了一个不寻常的情况,我遇到了麻烦。我的代码如下。
from flask import Flask, abort, jsonify, make_response, request
app = Flask(__name__)
@app.errorhandler(400)
def custom400(error):
return make_response(jsonify({'message': error.description}), 400)
@app.route('/test', methods=['POST'])
def test():
abort(400, 'custom error message')
if __name__ == '__main__':
app.run()
Run Code Online (Sandbox Code Playgroud)
上面的代码可以工作,但如果我尝试访问任何表单数据,其行为会有所不同,因为我无法访问自定义错误消息。
def test():
a = request.form['some_value']
abort(400, 'custom error message')
Run Code Online (Sandbox Code Playgroud)
我怎样才能避免这种情况呢?这是 Flask 的错误吗?
注意:上面的代码取自如何在使用自定义错误处理程序时从中止命令访问错误消息
该错误没有描述,因为您没有some_value在 POST 正文中进行设置,因此 400 错误来自request.form.__getitem__- 将测试的第一行更改为a = request.form.get('some_value'),您的abort错误将被抛出。
| 归档时间: |
|
| 查看次数: |
10563 次 |
| 最近记录: |