Creando los directorios iniciales y prerequisitos

Primero creo un directorio (APIS) donde ordenadamente trabajaré los proyectos de API REST:

Y dentro del directorio APIS el nuevo proyecto a desarrollar, que al ser el primero llamaré “new_project”:

Vamos a utilizar la última versión de Python3 para salir de la zona de comfort de Python 2.x. Con lo cual instalamos la herramienta de ambientes virtuales de python:

Crear el ambiente virtual

Cuando creamos proyectos con python normalmente vamos a necesitar librerías. Si tenemos muchos proyectos seguramente usemos versiones de librerías diferentes o incluso versiones de python diferentes, los ambientes virtuales nos permiten separar cada proyecto y sus librerías al igual que las propias instaladas a nivel de sistema operativo.

Creamos un ambiente virtual:

Y lo activamos:

Eso cambiará el prompt de la linea de comandos añadiendo (venv) al inicio y nos indicará que estamos dentro de ese ambiente virtual:

Como verán una estructura de directorios está creada específicamente para este nuevo proyecto:(venv)

Instalando Flask

Dentro de nuestro ambiente virtual instalamos Flask, un framework basado en Jinja (un sistema de templates que renderiza las páginas web) y Werkzeug (Implementa Web Server Gateway Interface, viene a ser como la capa que une la aplicación web desde el frontend al backend) estas son las más importantes aunque trae otras que podrán consultar aquí.

Mi primer aplicación en Flask

Primero nos situamos en el directorio del proyecto “new_project” y creamos el archivo de ejemplo “test_server.py” con lo siguiente dentro:

En el ejemplo anterior publicamos en el root (/) de localhost:5000 usando el decorador “route()”, pueden leer más sobre decoradores aquí. Si hacemos un GET o POST recibiremos mensajes diferentes.

Para probar el GET solo falta entrar a localhost:5000, para probar el POST podemos usar curl de esta forma:

Ahora revisamos qué versión de Flask instalamos, ejecutamos python3 y consultamos el atributo __version___

O también podemos usar el comando pip freeze y filtrar por “Flask”:

Luego podremos exportamos la variable para Flask con el nombre de nuestro archivo:

Y ejecutamos flask run:

Otra alternativa para iniciarlo es:

Si aparece el error: bash: flask: command not found por favor consulte este documento.

En este punto si no hemos tenido errores, deberíamos estar ejecutando un WSGI en nuestro equipo local en el puerto 5000:

http://localhost:5000/

Primera ejecución Flask con Python

Así luce la ejecución de la primera aplicación de ejemplo en Flask con python.