Depurar una aplicación Flask

24/Ene/2016 Python Deja un comentario

Cuando estemos trabajando con aplicaciones Flask puede darnos múltiples errores que tengamos que depurar. En este ejemplo vamos a ver cómo podemos depurar una aplicación Flask de una forma sencilla.

Vamos a partir de la siguiente aplicación Flask:

  1. from flask import Flask
  2. app = Flask(__name__)
  3.  
  4. @app.route('/suma/<int:s1>/<int:s2>',methods=['GET'])
  5. def suma(s1,s2):
  6. return s1+s2
  7.  
  8. if __name__ == '__main__':
  9. app.run()

A priori parece que es correcta y que hemos creado un servicio en Flask que nos suma dos números. Así que al ejecutar:

/suma/2/3

Debería de sumarnos los dos números y mostrar el resultado. Pero la realidad es que nos devuelve lo siguiente:

Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Si queremos ayuda par poder depurar una aplicación Flask lo que podemos hacer es indicar en el método run que tenga activa la depuración.

  1. if __name__ == '__main__':
  2. app.run(debug=True)

Recuerda que el modelo de depuración solo debes de habilitarlo para entornos de desarrollo o pruebas, nunca en producción.

Ahora, al ejecutar la aplicación veremos una pantalla como la siguiente:

flask_debug

En esta pantalla tenemos toda la información de depuración. Y nos permitirá ver que no podemos retornar un número, si no que el servicio debe de retornar una cadena.

  1. @app.route('/suma/<int:s1>/<int:s2>',methods=['GET'])
  2. def suma(s1,s2):
  3. return str(s1+s2)

Mediante este ejemplo hemos podido comprobar cual es el proceso para depurar una aplicación Flask.

Vídeos sobre Flask


¿Algo que nos quieras comentar?

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

*

*