0

我正在将 PSU 添加到 Flask 应用程序中,到目前为止一切进展顺利,但我不知道如何处理 PSU 引发的异常。一个这样的例外是 social.exceptions.AuthCanceled,当用户决定取消身份验证过程时引发。我显然想抓住它并显示一些信息。

我发现了一个类似的问题,关于如何通过创建一个新的中间件在 Django 中做到这一点。但是,这种方法似乎使用了仅在 PSU 的 django_app(而不是 flask_app)中定义的 middleware.py。

我有一些使用 Flask 的经验,但之前没有添加过中间件,我不确定这是不是正确的方向。

4

1 回答 1

1

更新

尝试定义一个errorhandlerhttp://flask.pocoo.org/docs/api/#flask.Flask.errorhandler上的文档),如下所示:

@app.errorhandler(500)  # since exceptions will produce 500 errors
def error_handler(error):
    if isinstance(error, SocialAuthBaseException):
        return redirect('/error')

此行下方的解决方案将不起作用


尝试使用teardown_requesthttp://flask.pocoo.org/docs/reqcontext/#teardown-callbacks),像这样

@app.teardown_request
def teardown_handler(exception=None):
    if exception and isinstance(exception, SocialAuthBaseException):
        return redirect('/error')
于 2014-02-24T15:15:08.097 回答