Como tengo algunos tiempo libres de descanso (de hacer proyectos o viciar un rato), me he decidido a escribir este articulo (o quizá artículos) sobre el desarrollo web con Flask (Python). No me voy a detener a explicar que es Flask, eso ya lo explican en Hipertextual y lo explican muchísimo mejor que yo.
Instalación
A este punto (sea el sistema operativo que sea) ya deberíamos tener instalado Python, así que solo nos quedaría instalar Flask
$ sudo pip install Flask
Fácil, ¿no?
Hola mundo
En Flask podemos crear el clásico «Hola Mundo» de la siguiente forma:
Solo guardamos nuestro código como hello.py y lo ejecutamos
$ python hello.py
* Running on http://localhost:5000/
Ahora nuestra aplicación se esta ejecutando en http://localhost:5000/
Muy fácil, ¿no?
Un blog sencillo
Paso 0: Creando las carpetas
Antes de empezar, necesitamos las siguientes carpetas para nuestra aplicación:
La carpeta Proyecto puede tener el nombre que quieras, es solo la carpeta donde tendrás tu aplicación. En la carpeta static estarán los ficheros disponibles a los usuarios via HTTP. Ese es el lugar donde debes colocar tus ficheros css y js. En la carpeta templates es donde estarán las platillas (el html5) de tu aplicación.
Paso I: Esquema de base de datos
Primero crearemos el esquema de base de datos. Para esta aplicación solo necesitaremos una base de datos. Solo introduce el siguiente código en un fichero de nombre «schema.sql» en la carpeta Proyecto.
Este esquema conciste en una solo tabla llamada entradas y cada fila de esta tabla tiene un ID, un titulo y un texto. Este ID es un número entero incrementando de forma automática y una clave principal, los otros dos son cadenas.
Paso II: Código inicial de la aplicación
Ahora que tenemos el esquema podemos crear el módulo de aplicación. Llamémoslo flaskr.py, el cual tiene que estar dentro de la carpeta Proyecto. Para empezar vamos a añadir los imports necesarios, así como la sección de configuración. En pequeñas aplicaciones podemos dejar la configuración directamente en el módulo que vamos a hacer. Sin embargo, lo mejor y mas correcto sería la creación de un fichero de configuración .ini o .py, cargarlo e importar los valores desde allí.
En el fichero flaskr.py:
El secret_key es necesario para mantener las sesiones seguras. Elije sabiamente esta clave. El flag debug activa o desactiva el depurador interactivo. ¡Nunca dejes el modo de depuración activado en un sistema de producción, ya que permitirá a los usuarios ejecutar código en tu servidor!
Ahora podemos crear nuestra aplicación e iniciar con la configuración en flaskr.py :
También vamos a añadir un método para conectarse fácilmente a la base de datos especificada. Esto se puede utilizar para abrir una conexión bajo petición. Esto será muy útil más adelante.
Finalmente añadimos una línea al final del archivo que ejecutara el servidor si queremos ejecutar el archivo como una aplicación independiente:
Con eso debes ser capaz de poner en marcha la aplicación sin problemas. Ahora usamos el siguiente comando:
$ python flaskr.py
Veras un mensaje que indica que el servidor se ha iniciado junto con la URL.
Si accedemos a la URL nos dará un error 404, ya que no tenemos una web todavía. Pero nos centraremos en eso un poco más tarde. Primero debemos conseguir el funcionamiento de la base de datos.
Hola, gracias por el articulo. ¿Que opinas sobre tener todas las routes juntas al estilo Django?. ¿Que ventajas hay en tener el route por cada funncion al estilo de Express, Flask o Bottle?
No he probado Django (Matame si quieres) pero podría decir que es por comodidad de quien programe. (Corriganme si me equivoco)
El articulo no esta terminado!! Quien se atrevió a postearlo?? D:
Se escapan errores ortográficos como «conciste», el mismo autor en su comentario dice «Corriganme», sería bueno tener un corrector ortográfico instalado y mirar las rayas rojas que salen bajo algunas palabras. También es cierto que no ha terminado de escribirlo y por tanto de repasarlo.
Creo que no soy el único que se ha quedado como un gilipollas buscando el botón siguiente… para pasar de página «o algo».
Ojala vengan más, muy buen trabajo