Cargando



Instalar y configurar Flask

En este tutorial veremos cómo podemos hacer una instalación y configuración de nuestro entorno de desarrollo con Flask.


ene 29 2015 16:48
Profesional
ene 29 2015 17:41
Hay ocasiones en las que deseamos desarrollar aplicaciones pero no queremos partir desde cero, para ello existen infinidades de frameworks en el mercado, sin embargo mientras más completo y poderoso es el framework, más grande puede ser su huella y su curva de aprendizaje. Esto hace que podamos perder el interés en desarrollar nuestra aplicación o tal vez gastemos más tiempo del necesario.

Con lo anterior en mente han ido surgiendo una cantidad considerable de los llamados microframeworks, que son ecosistemas de trabajo que tienen los elementos necesarios como para no tener que partir desde cero al momento de desarrollar nuestra aplicación, pero su tamaño es mínimo, dándonos solo lo necesario para empezar sin tener que inundarnos la cabeza de mucho material.

En Python existen una gran cantidad de estos microframeworks, sin embargo hay uno que resalta gracias a su gran documentación y comunidad, este es Flask, que con unas pocas librerías y componentes nos permite iniciar un desarrollo sin perder de vista la escalabilidad y la modularidad.

Instalación
La instalación formal de Flask apenas y toma unos pocos minutos, sin embargo para el máximo beneficio debemos primero establecer nuestro ambiente de trabajo, para ello tenemos que instalar y configurar virtualenv, que es una herramienta que nos permite tener diferentes entornos bajo Python en nuestro sistema de forma que no tengamos que instalar nada de forma global.

Requisitos


Para instalar virtualenv simplemente debemos cumplir los siguientes requisitos:

1- Instalar Python 2.7 o superior, dependiendo de nuestro sistema operativo el proceso será diferente, pero para la mayoría de distribuciones Linux este ya viene instalado por defecto. En Windows simplemente hay que instalar utilizando el descargable correspondiente a nuestro sistema.

2- Una vez que tenemos Python, tenemos que instalar pip, esta es una herramienta que nos permite hacer la instalación de forma sencilla y a través de la consola de comandos de los diferentes paquetes para Python. En Ubuntu por ejemplo basta con colocar en la consola de comandos:
apt-get install python-setuptools
Y luego ejecutamos:
easy_install pip
En Windows simplemente hay que ubicar los descargables correspondientes de setuptools.py y luego getpip.py ambos archivos hay que ejecutarlos con Python desde la consola de comandos.

3- Finalmente podemos instalar virtualenv al colocar en la consola pip install virtualenv, lo cual nos dará la capacidad de crear nuestros entornos virtuales.

Crear un entorno virtual


Para crear un entorno virtual, simplemente debemos crear una carpeta que contendrá a nuestro proyecto y luego dentro de ella colocar el comando:
virtualenv nuestroproyecto
Donde “nuestroproyecto” será el nombre del entorno virtual.

Una vez que virtualenv creó el entorno, debemos activarlo, para ello dependiendo del sistema en el que estemos debemos hacer lo siguiente, en Ubuntu por ejemplo, simplemente nos colocamos dentro de nuestro entorno y colocamos el siguiente comando:
source bin/activate
Si nos encontramos en Windows, haríamos lo siguiente:
Scripts/activate
Al final tendríamos un entorno activado como vemos en la siguiente imagen:


instalar-configurar-flask.jpg

Cómo podemos visualizar en la consola sale entre paréntesis el nombre de nuestro entorno ya activado.

Instalar Flask


Ya que tenemos todos los requisitos anteriores cumplidos, ahora si podemos hacer la instalación del microframework Flask, para ello en nuestra consola del entorno virtual, simplemente escribimos lo siguiente:
pip install flask
Si todo ha ido bien obtendremos algo como lo que vemos en la siguiente imagen:


instalar-configurar-flask-2.jpg

Vemos como al final nos dice que se instaló exitosamente Flask además de sus dependencias, con ello ya estamos listos para poder empezar a desarrollar nuestras aplicaciones con este microframework.

Creando nuestra primera aplicación


Vamos ahora a crear nuestra primera aplicación, en este caso haremos el clásico “Hola mundo!” con lo cual podremos entender algunas cosas interesantes de trabajar con Flask. Vamos a necesitar un editor de texto plano o tal vez algún IDE que soporte Python, recomendamos utilizar Sublime Text, o tal vez Notepad++ ambas opciones nos permiten resaltar las palabras clave del lenguaje.

Dentro de nuestro entorno vamos a crear un archivo llamado app.py y dentro de este vamos a colocar el siguiente código:
from flask import Flaskapp = Flask(__name__)@app.route('/')def hola_mundo(): return 'Hola Mundo!!!'if __name__ == '__main__': app.run()
Empezamos importando el framework, para ello primero indicamos que de la librería flask vamos a importar la clase Flask. Luego definimos que nuestra app va a ser una instancia de dicha clase. Creamos un decorator @app.route(/) que nos va a indicar que la ruta que va a ser definida para utilizar la función a continuación es la raíz.

Acto siguiente creamos nuestra función hola_mundo() y esta va a retornar un mensaje en forma de string. Finalmente ejecutamos el método app.run() con lo cual se va a levantar nuestra aplicación.

Para ver esto funcionando simplemente nos vamos a la consola de nuestro entorno virtual y escribimos:
python app.py
Esto debe mostrar un mensaje como el siguiente en la consola:


instalar-configurar-flask-3.jpg

Vemos que nos dice que la aplicación está corriendo en 127.0.0.1 en el puerto 5000 por lo que colocamos esa información en nuestro navegador y veremos el resultado como en la imagen siguiente:

instalar-configurar-flask-4.jpg

Ya con esto tenemos nuestra primera aplicación hecha con Flask y no nos tomó ni un par de minutos.

La organización de nuestra aplicación


Debido a la naturaleza micro de Flask y además que su objetivo es dejarnos trabajar de la forma en la que más cómodos nos sintamos, inicialmente no nos genera ninguna estructura de carpetas para nuestra aplicación, por lo que nos da la libertad de crear nuestra estructura de la forma en que mejor nos parezca.

Restricción
La única restricción es que no podemos utilizar el nombre flask.py para nuestros archivos, ya que esto haría conflicto con el archivo principal de nuestro framework, de resto todo es bastante flexible.

La configuración básica de carpetas recomendada consiste en una carpeta principal con el nombre del proyecto, dentro de esta tendremos el archivo principal que inicia la aplicación, así como un par de carpetas adicionales, la primera es la de los archivos estáticos como imágenes y hojas de estilo, la segunda es la carpeta de las plantillas llamada templates, donde tendremos los archivos que nos ayudarán a generar las vistas con HTML para el usuario final de la aplicación. Veamos en la siguiente imagen como luce esta estructura:

instalar-configurar-flask-5.jpg

El motor de plantillas


Por defecto Flask utiliza jinja2 como su motor de plantillas, sin embargo esto puede ser cambiado por otro, pero antes de descartar hacer uso de él, podemos ver que nos ofrece.

Jinja2
Es un motor completo que ofrece la posibilidad de interpretar algunas instrucciones para hacer de nuestras plantillas elementos dinámicos que complementen las diferentes partes de nuestra aplicación, el objetivo es tener que escribir la menor cantidad de código, pero cubriendo la mayor cantidad de casos y funcionalidades.

La sintaxis es muy similar al motor de plantillas de Django, por lo que si hemos trabajado con dicho framework probablemente nos sentiremos muy a gusto.

El manejo de las Bases de Datos


Por defecto Flask no tiene ningún ORM, por lo que si vamos a trabajar con las Bases de Datos, o bien construimos nuestro propio ORM o utilizamos alguno que ya haya disponible en la comunidad, si tomamos esta segunda opción podemos considerar a Flask-SQLAlchemy.

Este es una extensión para poder utilizar el popular SQLAlchemy él cual nos permite establecer conexiones a través de Python con los diferentes motores de Bases de Datos, como MySQL o inclusive otros motores no relacionales como MongoDB.

La idea detrás de un ORM es poder hacer consultas de una manera que no dependamos de sintaxis SQL, así si en algún momento deseamos cambiar de motor de Base de Datos, nuestra aplicación no deba sufrir ningún cambio, a diferencia de si escribimos directamente código SQL, en cuyo caso deberíamos cambiar las instrucciones según sea el caso.

Con esto hemos terminado este tutorial, hemos visto apenas un pequeño porcentaje de lo que podemos lograr con Flask, sin embargo es suficiente para darnos cuenta de su gran potencial, sobre todo cuando necesitamos iniciar de forma rápida y sin mucho equipaje un proyecto. Su gran popularidad se debe a que con su estructura modular y extensible, nos permite utilizar muchos componentes que tal vez ya conozcamos de otros desarrollos y no nos limita a trabajar de una forma en particular, a diferencia de frameworks como Django donde tenemos una forma muy particular de hacer las cosas, además de todos los componentes que se tienen que heredar inicialmente para crear una aplicación.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X