Una vez que ya conocemos el ecosistema de Flask, que es, como esta formado y cómo podemos instalarlo, que sería nuestro Python y el instalador de paquetes pip de Python, ya estamos listos para empezar a crear nuestra primera aplicación en este popular framework web para Python.
Pasos a cumplir antes de crear la aplicación Hola Mundo en Flask
Antes que todo, vamos a preparar el entorno para crear nuestra app y nuestro Hola Mundo; primero crea una carpeta en el Escritorio o donde quieras tener tu proyecto y coloque un nombre, como primera_app; luego, abre tu terminal en Linux o Mac o CMD en Window y posicionate en ese directorio con el comando cd.
El siguiente paso, que sería opcional es que emplees un editor, como Visual Studio Code VSC, pero si lo prefieres puedes incluso emplear blog de notas; ahora, vamos a crear nuestro primer archivo, para eso entramos dentro de la carpeta que creastes en el primer paso (primera_app) y creamos un archivo llamado app.py:
Creando nuestra aplicación
Copia el siguiente codigo, que seria nuestra primera app en Flask:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hola mundo Flask'
if __name__ == '__main__':
app.run()
Con tan pocas líneas de código, tenemos todo lo mínimo necesario en una aplicación en Flask y con esto nuestro primer Hola Mundo.
Analizando el código anterior
Lo primero que hacemos es importar nuestro módulo de Flask, que viene siendo nuestro framework para emplear en nuestra app:
from flask import Flask
Como puedes ver, es una importación de cualquier paquete de Python, que en este caso sería Flask.
La ruta para mostrar el contenido
Luego tenemos una función de Python que le asociamos una ruta, y aquí lo importante de todo esto, ya que la función anterior que puede llevar cualquier nombre, estamos indicando que va a ser procesada y consumida mediante un navegador mediante el sistema de rutas de Flask específicamente del módulo de Werkzeug que incorpora Flask.En la función, simplemente tenemos que retornar algo, que en este caso sería el contenido que vamos a mostrar.
Ejecutar la app de Flask en múltiples ambientes
Finalmente, estamos especificando las siguientes líneas de código:
if __name__ == '__main__':
app.run()
las cuales son opcionales y depende de como ejecutemos nuestra app de Flask, esas líneas anteriores son requeridas si vamos a ejecutar la app de Flask como si fuera una app de Python normal y común, pero si la ejecutamos mediante comandos de Flask no serían necesarias.
La ruta de acceso e la app web con Flask
Definimos un decorador para las rutas, es decir enlazamos una función al decorador de la ruta route que simplemente especificamos la ruta para acceder a nuestra app en nuestra aplicación web, podemos colocar tantos decoradores como nosotros queramos, y esto lo logramos gracias a nuestro Werkzeug que recuerda es una de las librerías que vienen instaladas por defecto con nuestro Flask.
Definir múltiples rutas
Ahora, podemos definir múltiples rutas para un mismo recurso; por ejemplo:
@app.route('/')
@app.route('/hola')
def hello_world():
return 'Hola mundo Flask'
Y con esto tenemos dos maneras distintas de ejecutar un mismo recurso; ahora bien, cómo podemos ejecutar nuestra app.
Contenido a renderizar
Para este ejemplo, como es nuestra primera apertura para trabajar en Flask, solamente hacemos una sencilla impresión de texto por pantalla, texto plano aunque claro está que también podemos emplear vistas o templares para mostrar código HTML pero de esto nos ocupamos en otra entrada.
Ejecutar una app de Flask en nuestro navegador
Para ejecutar una app en Flask existen basicamente un par de maneras, pero la más sencilla y la que emplearemos ahora sería:
python <nombre del archivo>
En nuestro caso seria asi:
python app.py
Y con esto levantaremos el servidor de desarrollo y si entramos en:
http://127.0.0.1:5000/
O simplemente
http://localhost:5000/
Veremos
Y si también entramos por:
http://127.0.0.1:5000/hola
Veremos el mismo recurso.
También podemos ejecutar la aplicación anterior configurando una variable de entorno llamada FLASKAPP que lo vemos en la entrada señalada anteriormente.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter