X

Tutorial de Flask: MicroFramework Python – Parte 01

El día de hoy estaremos comenzando con un tutorial sobre un MicroFramework que utiliza el patrón MVC en Python llamado Flask. Si bien muchos de nosotros conocemos y sabemos que Django es el Framework más famoso y popular para Python. Flask, es sin  duda una muy buena opción.

Además, a diferencia de los frameworks que normalmente conocemos, tiene un característica muy importante y es el hecho de que es un «Micro» Framework. Algo que básicamente significa que en él, «tendrás todo lo que necesitas y nada que no«.

¿Qué queremos decir con esto? Pues es muy simple, si necesitas alguna funcionalidad específica, siempre podrás agregarla a Flask. Ahora bien, si no la necesitas, no la tendrás estorbando en tu proyecto. Esto, por más sencillo que parezca, es muy importante, pues es lo que al fin de cuentas lo hace liviano, práctico y seguro.

Flask no es como la mayoría de los frameworks que cuentan con un sin fin de módulos ya integrados, en el caso de éste, siempre podrás integrar lo que desees, pero solo si tu lo decides así. En realidad, solamente contarás con lo mínimo para poder desarrollar tu aplicación, lo demás quedará a tu decisión si agregarlo o no y dependerá siempre de la aplicación que estés desarrollando.

Esto nos permite no solamente tener control casi total del código nuestra aplicación, sino además tener código ligero, liberar las aplicaciones al mercado más rápidamente y por sobre todo, tener código fácil de mantener, algo que sin  duda para el desarrollador es realmente importante.

Otro punto que cabe mencionar sobre éste framework es la cantidad y calidad de su documentación, pues allí encontrarás cualquier cosa que estés buscando y también muy buenos ejemplos. Realmente es algo que siempre debemos tener en cuenta al adentrarnos en nuevas tecnologías y con respecto a Flask, te aseguramos que cuenta con una muy buena documentación y comunidad.

Breve introducción a Flask

Ahora que ya sabemos las ventajas y tenemos una idea básica de lo que es Flask. Veamos un poco más a fondo, en una breve introducción con qué tecnologías trabaja, para luego sí, comenzar a adentrarnos en el código.

Flask está basado en Werkzeug, una librería en WSGI (Web Server Gateway Interface) que es la que se encarga de manejar las requests entre el cliente y el servidor. Y por otro lado Jinja 2, un amigable, moderno, seguro y popular lenguaje de templates utilizado para Python basado en el utilizado por Django.

Comenzando nuestra primera aplicación en Flask

El próximo paso para poder adentrarnos en el mundo de Flask, será comenzar con el famoso «Hola Mundo» para poder ir viendo como se realiza el setup de este framework y la base sobre como trabaja.

¿Qué necesitamos para comenzar nuestro proyecto?

Lo bueno de este framework, es que ya trae consigo un servidor de desarrollo que nos permite probar nuestras aplicaciones sin la necesidad de instalar Apache o Ngnx. Es decir, que el comenzar a trabajar en él, es mucho más fácil. Es por ello, que básicamnete lo único que necesitarás serán tres cosas.

  • Tener instalado Python, una versión mayor a 2.6
  • Tener instalado pip
  • Conocer básicamente como trabaja y se programa en Python. Si nunca habías utilizado este lenguaje, te recomendamos leer nuestro post sobre Introducción a Python para principiantes. Así podrás tener los conocimientos básicos necesarios para iniciar tu aplicación con Flask.

Una vez tengas todos estos requisitos completados, ya podemos comezar a realizar nuestra primera aplicación web con Flask.

Instalando Flask

Lo primero que debemos hacer es instalar el framework. Para ello simplemente desde la terminar realizamos «pip install flask«.

Allí deberíamos ver un output como el siguiente:

Con esto, ya tendremos instalado Flask y podremos comenzar a trabajar en él.

Creando nuestra primera aplicación

Ahora simplemente, para poder comenzar con nuestro proyecto, debemos crear una carpeta, en la cual tendremos todos nuestros archivos. En nuestro caso será por ejemplo «flask-project«. Allí, creamos un archivo llamado «app.py» y le colocamos el siguiente código dentro.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hola_mundo():
    return 'Hello, World!'

Nota: No olvidemos respetar siempre los espacios e indentación en Python. De lo contrario la aplicación nos dará error.

Corriendo nuestra aplicación

Ahora debemos exportar la aplicación y correrla, para luego poder verla desde nuestro navegador. Esto lo podemos hacer sencillamente con los siguientes comandos.

Nos paramos dentro del directorio donde tenemos el archivo app.py

  • Corremos el comando «export FLASK_APP=app.py«. Si estás utilizando Windows entonces debes utilizar SET en lugar de export.
  • Y ahora corremos la aplicación con «flask run«

Veremos que nos saldrá un output como el siguiente:

Y como bien vemos allí, nos dirá que nuestra aplicación se encuentra corriendo en la dirección «http://127.0.0.1:5000«. Por lo que para ver lo que hace, simplemente debemos acceder al navegador y cargar la dirección.

Y allí sin más, veremos nuestro «Hello, Wold!» en la ventana del navegador:

Explicación del Código

Ahora nos queda explicar bien qué hace cada línea de código para poder entender un poco más a fondo como trabaja este framework. Si lo vemos más a fondo, vemos que primero hemos importado Flask.

Luego, creamos una instancia app, con el argumento __name__. Esto lo que hace, es indicarle a Flask dónde tiene que ir a buscar los archivos, plantillas, etc. Por otro lado, hemos indicado que la ruta «/», es decir el home de nuestra aplicación tendrá una función «hola_mundo()» que devolverá el mensaje «Hello Wold!».

Conclusión

Como vemos, el uso de Flask nos trae un sin fin de ventajas, especialmente si en la aplicación que te encuentras trabajando necesitas tener el control de los módulos que utilizas. O si bien es algo muy sencillo y no deseas sobrecargarlo con cosas que al fin y al cabo no necesitas.

Además, con nuestra introducción ya podemos ir viendo que es realmente sencillo de utilizar, y al utilizar el patrón MVC (Modelo Vista Controlador ), ya la teoría de cómo utilizarlo es probable que la tengas. Después de todo es un patrón bastante utilizado y popular hoy en día.

Artículos relacionados