Ticker

6/recent/ticker-posts

Proyecto en modo de pruebas (debug) con Python y Flask

En este tutorial práctico modificaremos el proyecto de hola mundo en modo de depuración (debug) desde Python y Flask.


Requisitos:

  1. Python 3.11.x
  2. Pip 22.3
  3. Flask 3.x
  4. Visual Studio Code.


Lo que veremos en este tutorial:

  1. ¿Qué es modo de pruebas (debug)?
  2. Modifica el archivo app.py.
  3. Ejecutar el archivo app.py.
  4. Conclusiones.
  5. Referencias.

①. ¿Qué es modo de depuración (debug) ?

Un proyecto en modo de depuración (técnica en la programación) nos permite trazar un programa, es decir, seguir el flujo de ejecución de un programa paso a paso, ejecutando una instrucción en cada paso, y observar el estado de sus variables, es decir, cuando un programa tiene cierta complejidad, la depuración es imprescindible para detectar posibles errores, sin embargo, en este tutorial revisaremos con un ejemplo práctico la activación del depurador que nos brinda la herramienta Werkzeug, herramienta que proporciona un depurador que muestra un rastreo interactivo en el navegador (en mi caso use Google Chrome) cuando se produce un error no manejado durante una solicitud.


②. Modifica el archivo app.py.

En flask al activar el modo de depuración, el servidor se recargará automáticamente si el código cambia, y mostrará un depurador interactivo en el navegador si se produce un error durante una solicitud.

from flask import Flask # import to initialize

# Constructor, the path of the correct module
app = Flask(__name__) # initial Object
@app.route('/')

def helloworld():
    #return 'Hola mundo desde Python y Flask'
    return 'Debug project Python y Flask'

if __name__ == '__main__':
    app.run(debug=True) # debug project


Después de activar el depurador en nuestro proyecto (app.run(debug=True)), crearemos una nueva función con la finalidad de generar un error forzado y visualizar el depurador Werkzeug que nos facilita Flask (Flask incluye la dependencia de Werkzeug).

from flask import Flask # import to initialize

# Constructor, the path of the correct module
app = Flask(__name__) # initial Object
@app.route('/')

def helloworld():
    #return 'Hola mundo desde Python y Flask'
    return 'Debug project Python y Flask'

# Modified program for see debug incorport Werkzeug
@app.route('/<message>')
def fmessage(message):    
    return f'Your message ir {int(message)}'

if __name__ == '__main__':
    app.run(debug=True) # debug project


Al cambiar al proyecto en modo de depuración (debug) desde el terminal ahora se visualizará * Debugger is active! (antes de la activación * Debugger is on!)


El error forzado con relación al tipo de datos; se esta adicionando un tipo de dato entero en una cadena.



La consola por defecto está bloqueada, para lograr desbloquear se de ingresar el PIN generado al ejecutar el programa.


Al ejecutar nuestra aplicación generará un PIN (* Debugger PIN: 110-758-192), pin que debe ser ingresado para visualizar la sentencia completa del error generado.

Ingresar pin y confirmar.


③. Ejecutar el archivo index.py

La ejecución del archivo app.py se realizará desde el bash de Git haciendo uso del comando python app.py

④. Conclusiones.

En este tutorial revisamos concepto en general acerca de un proyecto en modo de depuración y elaboramos un ejemplo práctico para visualizar el uso de la herramienta Werkzeug al activar a nuestro proyecto (app.run(debug=True))en modo de depuración.

⑤. Referencias

Publicar un comentario

0 Comentarios