我正在尝试在 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/