Personalizar errores en Flask

25/Mar/2016 Python ,

Ya hemos visto en un artículo cómo podemos manejar las páginas de error en Flask. Si bien, lo que veíamos era cómo generar páginas de error estándares. En este caso vamos a ver cómo podemos personalizar errores en Flask.

Para gestionar el error vamos a utilizar el método abort(), al cual le pasaremos el código del error a devolver.

  1. @app.route('/bloqueado')
  2. def bloqueado():
  3. return abort(401)

Hasta aquí todo correcto, ya que tendremos la página estándar del error 401 como respuesta a llamar a la ruta /bloqueado.

Para poder personalizar errores en Flask deberemos de utilizar una anotación con un errorhandler() al cual indicaremos el código de error que estamos gestionando.

  1. @app.errorhandler(401)

El método que asignemos como controlador recibirá un objeto error como parámetro:

  1. @app.errorhandler(401)
  2. def access_error(error):

Y el contenido a devolver ya depende de lo que queramos hacer. Si bien lo más habitual será devolver una plantilla mediante el método render_template().

Lo que no se nos tiene que olvidar es que en la respuesta deberemos de indicar nuevamente el código de error, para que este sea devuelto al cliente.

  1. @app.errorhandler(401)
  2. def access_error(error):
  3. return render_template('error_401.html'), 401

Así ya hemos visto lo sencillo que es personalizar errores en Flask mediante anotaciones.

Vídeos sobre Python


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D