Hola Mundo en Flask

- Andrés Cruz

In english
Hola Mundo en Flask

Flask es un framework web estupendo para la creación de aplicaciones web del lado del servidor con Python; si no tienes conocimientos en el uso de frameworks web del servidor con Python, Flask es un buen candidato para inciar; al ser un microframework, lo que significa que inicialmente trae lo mínimo necesario para poder funcionar, puedes ir viendo de a poco cómo funciona el framework sin dar cabida a confusiones con archivos, estructura de directorios o módulos que no haz colocado, como sucede con otros frameworks más robustos como Django, que al crear un proyecto en Django, cuenta con muchos archivos y carpetas.

Finalmente, es momento de crear el "Hola Mundo" con Flask; es decir, implementar lo mínimo necesario para poder ver algo por pantalla; así que, creamos un archivo dentro del proyecto (la carpeta tasks):

main.py

Con el siguiente código:

main.py

from flask import Flask 
app = Flask(__name__) 
 
@app.route('/') 
def hello_world() -> str: 
    return 'Hello Flask!' 

if __name__ == '__main__': 
    app.run() 

El código anterior es una aplicación web completa basada en Flask, de aquí podemos entender el término de microframework que se denota a Flask, ya que, tiene lo mínimo necesario para poder funcionar, por lo tanto, una implementación mínima en Flask puede escribirse en pocas líneas de código; la aplicación anterior, simplemente mostrará "Hello Flask!" en el navegador.

Levantamos la aplicación con:

$ python main.py

Y en la terminal veremos algo como:

 * Serving Flask app 'main'
 * Debug mode: on

WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.

 * Running on http://127.0.0.1:5000

Ahora, si navegamos a la ruta anterior:

http://127.0.0.1:5000. 

Veremos un mensaje de 

Hello Flask!

En la pantalla.

Analicemos un poco más en detalle el código anterior; mediante:

from flask import Flask 
app = Flask(__name__) 

Importamos la clase Flask, que es usada para crear una instancia, la llamada app y que desde la misma se puede realizar múltiples configuraciones a nivel del proyecto como la base de datos, envío de emails, ruteo entre otros, pero, de momento, solamente se emplea para crear una ruta:

@app.route('/') 

Este decorador se emplea para que la función que decora, pueda ser consumida desde una petición HTTP mediante la ruta asociada; es decir, en este ejemplo, la ruta '/' se asigna a la función de vista hello_world()

Cuando un usuario accede a la ruta '/', Flask ejecutará la función hello_world() y devolverá la cadena de texto "Hello Flask!".

Finalmente, se ejecuta la aplicación con:

if __name__ == '__main__': 
    app.run() 

El condicional anterior verifica si el módulo actual es el programa principal que se está ejecutando. Si es así, se ejecuta el código dentro del bloque de código if; que permite iniciar el servidor web que emplea Flask internamente: Werkzeug.

El condicional de if __name__ == '__main__':  permite asegurar que el servidor solo se ejecute si el script se ejecuta directamente desde el intérprete de Python y no desde un módulo importado.

Puedes probar devolver un contenido HTML en vez de un texto como:

main.py

@app.route('/') 
def hello_world(): 
    return '<h1>Hello World!</h1>'
Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.