Я додаю PSU до програми Flask, і все відбуваєтьсяпоки що досить добре, але я не можу зрозуміти, як поводитися з винятками, піднятими PSU. Одним з таких винятків є social.exceptions.AuthCanceled, піднімається, коли користувач вирішує скасувати процес авторизації. Я, очевидно, хотів би зрозуміти це і відобразити якесь повідомлення.
Я знайшов a подібне питання про те, як це зробити в Django, створивши нове ПО. Однак, схоже, такий підхід використовує middleware.py, визначений лише у django_app PSU (а не у flask_app).
Я маю певний досвід роботи з Flask, але раніше не додавав Middleware, і не впевнений, що це правильний напрямок.
Відповіді:
1 для відповіді № 1UPDATE
Спробуйте визначити errorhandler
(документи в http://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_request
(http://flask.pocoo.org/docs/reqcontext/#teardown-callbacks), подобається це
@app.teardown_request
def teardown_handler(exception=None):
if exception and isinstance(exception, SocialAuthBaseException):
return redirect("/error")