为什么这个 Flask 函数需要一个错误参数?
Why does this Flask function take an error argument?
我正在学习 python 并且我正在尝试建立一个网站。我正处于您需要处理错误的地步,但我不理解 Flask 文档中给出的示例:
@app.errorhandler(404)
def not_found(error):
return render_template('error.html'), 404
为什么您需要键入 not_found(error):
而不是 not_found():
?
@app.errorhandler()
未注册常规视图。它注册了一个error handler。错误处理程序被传递给错误对象,因此它们可以确定如何最好地生成替代视图。来自文档:
An error handler is a function that returns a response when a type of error is raised, similar to how a view is a function that returns a response when a request URL is matched. It is passed the instance of the error being handled, which is most likely a HTTPException
.
(大胆强调我的)
您在request
对象上找不到此错误信息,因为此类错误是由处理当前请求的普通视图产生错误引起的。
正常路径是:
- 请求进来
- Flask 找到 运行 的正确视图并调用它
- 视图遇到问题并通过调用
abort(404)
引发 404 未找到错误
- Flask 找到匹配的错误处理程序并使用错误对象调用它。
- 错误处理程序响应被发送回浏览器。
我正在学习 python 并且我正在尝试建立一个网站。我正处于您需要处理错误的地步,但我不理解 Flask 文档中给出的示例:
@app.errorhandler(404)
def not_found(error):
return render_template('error.html'), 404
为什么您需要键入 not_found(error):
而不是 not_found():
?
@app.errorhandler()
未注册常规视图。它注册了一个error handler。错误处理程序被传递给错误对象,因此它们可以确定如何最好地生成替代视图。来自文档:
An error handler is a function that returns a response when a type of error is raised, similar to how a view is a function that returns a response when a request URL is matched. It is passed the instance of the error being handled, which is most likely a
HTTPException
.
(大胆强调我的)
您在request
对象上找不到此错误信息,因为此类错误是由处理当前请求的普通视图产生错误引起的。
正常路径是:
- 请求进来
- Flask 找到 运行 的正确视图并调用它
- 视图遇到问题并通过调用
abort(404)
引发 404 未找到错误
- Flask 找到匹配的错误处理程序并使用错误对象调用它。
- 错误处理程序响应被发送回浏览器。