Personalizar errores en Flask

25/Mar/2016 Python , Deja un comentario

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

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*