我在理解Blueprint.errorhandlerBlueprint.app_errorhandler之间的区别时遇到了一些麻烦。根据API文档(重点是我的):



AFAIK是Flask中的蓝图对象,它是“一组可以在应用程序上注册的操作,甚至可以多次注册”。

我的问题是:

  • 错误如何在一组操作中局部出现?
  • View 函数如何导致错误?
  • 最佳答案

    “本地”是指相对于路线注册的路线。蓝图路由始终以您注册蓝图时使用的名称作为前缀,因此它们自然地进行了分组,并且从URL路径拓 flutter 的 Angular 来看,它们具有局部性。那么“非本地”就是与蓝图无关的任何 View ;它们将具有不同的前缀或根本没有前缀。

    View 函数可以引发exceptions,并且特定的异常(从 HTTPException 派生的任何异常)具有与之关联的HTTP错误代码。 @blueprint.errorhandler()为此类异常或关联的HTTP错误代码注册一个处理程序。

    该文档说明的是,路由过程中引发的错误(例如404 NotFound错误)尚无 View ,因此您也无法将该错误路由到特定的蓝图。

    在后台,当路由成功找到一个 View 来处理请求时,request.blueprint设置为与该 View 相对应的关联注册蓝图。如果然后发生错误,并且需要找到错误处理程序,则flat的request.blueprint值可让Flask查找“本地”错误处理程序。

    关于python - “local to a blueprint”是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39466753/

    10-09 04:23