python - 授予 Flask 错误处理程序访问请求的权限

标签 python error-handling flask

我正在尝试在 Flask 中创建一个自定义错误页面,我想让错误处理程序访问生成导致错误的 API 调用的请求,以便它返回的错误页面可以更改,具体取决于情况。例如,假设有两个端点:

(1) @app.route('/get_item')

(2) @app.route('/submit_item')

如果在调用 get_item 期间发生错误,我想显示某个错误页面(“抱歉,发生错误...”)但是,如果在调用期间发生错误submit_item,我希望它能提供更多信息,例如:

"An error occured! Please contact us.

Your user id: request.json['userid']

Your submission id: request.json['submission']"

是否可以允许错误处理程序访问它,或者我只需要将整个 submit_item 包装在 try/except 语句?

最佳答案

您可以在错误处理函数中使用 request 上下文, 沿着这些方向的东西:

from flask import request

def exception_handler(*args):
    if request.url.endswith('submit_item'):
       return "MyMoreDescriptiveErrorMessage", 500
    else:
       return "Something wrong happened", 500

关于python - 授予 Flask 错误处理程序访问请求的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35948452/

相关文章:

.net - 什么情况下UIElement.UpdateLayout()可以调用Environment.FailFast?

ruby-on-rails - find_by函数即使成功也不会成功

Python 请求 : how to GET and POST a picture without saving to drive?

python - 为什么当我读取文件数据时它不起作用,但当它们被硬编码时它却起作用?

python - 在单元测试中卡住数据库时间(django 和 sqlite)

PHP 自定义异常消息

python - Python 上用于 JSON 类型数据的 REST API

python - 使用 Flask-SQLAlchemy 反射(reflect)表引发 RuntimeError : application not registered

python - 来自 Pandas 数据框的 json 文件中的正斜杠

python - 如何防止系统挂起/锁定(Python/C/Bash)