[TUTORIAL] Flask I: Basico

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.

Si no tienes conocimientos de Python y HTML5 lo mejor es que no continรบes y primero leas la documentaciรณn y manuales de Python y HTML5

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:

flask1

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:

carpetas

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.

esquema

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:

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 :

app

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.

table4

Finalmente aรฑadimos una lรญnea al final del archivo que ejecutara el servidor si queremos ejecutar el archivo como una aplicaciรณn independiente:

table5

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.

Paso III: Creaciรณn de la base de datos

Deja tu comentario

Tu direcciรณn de correo electrรณnico no serรก publicada. Los campos obligatorios estรกn marcados con *

*

*

  1. Responsable de los datos: Miguel รngel Gatรณn
  2. Finalidad de los datos: Controlar el SPAM, gestiรณn de comentarios.
  3. Legitimaciรณn: Tu consentimiento
  4. Comunicaciรณn de los datos: No se comunicarรกn los datos a terceros salvo por obligaciรณn legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu informaciรณn.

      Faustino dijo

    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?

         Ivan Molina Rebolledo dijo

      No he probado Django (Matame si quieres) pero podrรญa decir que es por comodidad de quien programe. (Corriganme si me equivoco)

      Ivan Molina Rebolledo dijo

    El articulo no esta terminado!! Quien se atreviรณ a postearlo?? D:

      Guille dijo

    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.

      erm3nda dijo

    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ยป.

      Linug dijo

    Ojala vengan mรกs, muy buen trabajo