[TUTORIAL] Flask I: Bàsic

Com que tinc alguns temps lliures de descans (de fer projectes o viciar una estona), m'he decidit a escriure aquest element (o potser articles) sobre el desenvolupament web amb Flask (Python). No em detindré a explicar que és Flask, això ja ho expliquen en Hipertextual i ho expliquen molt millor que jo.

Si no tens coneixements de Python i HTML5 el millor és que no continuïs i primer llegeixis la documentació i manuals de Python i HTML5

Instal·lador

A aquest punt (sigui el sistema operatiu que sigui) ja hauríem de tenir instal·lat Python, així que només ens quedaria instal·lar Flask

$ sudo pip install Flask

Fàcil, no?

Hola món

En Flask podem crear el clàssic «Hola Món» de la següent manera:

flask1

Només guardem el nostre codi com hello.py i l'executem

$ python hello.py
* Running on http://localhost:5000/

Ara la nostra aplicació s'està executant a http: // localhost: 5000 /

Molt fàcil, no?

Un bloc senzill

Pas 0: Creant les carpetes

Abans de començar, necessitem les següents carpetes per a la nostra aplicació:

Carpetes

La carpeta Projecte pot tenir el nom que vulguis, és només la carpeta on tindràs la teva aplicació. A la carpeta static hi haurà els fitxers disponibles als usuaris via HTTP. Aquest és el lloc on has de col·locar els teus fitxers css i js. A la carpeta templates és on hi haurà les platillas (el html5) de la teva aplicació.

Pas I: Esquema de base de dades

Primer crearem l'esquema de base de dades. Per a aquesta aplicació només necessitarem una base de dades. Només introdueix el següent codi en un fitxer de nom «schema.sql» a la carpeta Projecte.

esquema

Aquest esquema conciste en una només taula anomenada entrades i cada fila d'aquesta taula té un ID, un títol i un text. Aquest ID és un nombre enter incrementant de forma automàtica i una clau principal, els altres dos són cadenes.

Pas II: Codi inicial de l'aplicació

Ara que tenim l'esquema podem crear el mòdul d'aplicació. Cridem-flaskr.py, el qual ha d'estar dins de la carpeta Projecte. Per començar anem a afegir els imports necessaris, així com la secció de configuració. En petites aplicacions podem deixar la configuració directament en el mòdul que farem. No obstant això, el millor i més correcte seria la creació d'un fitxer de configuració .ini o .py, carregar i importar els valors des d'allà.

Al fitxer flaskr.py:

py

El secret_key és necessari per mantenir les sessions segures. Trieu sàviament aquesta clau. El flag debug activa o desactiva el depurador interactiu. Mai deixis la manera de depuració activat en un sistema de producció, ja que permetrà als usuaris executar codi al teu servidor!

Ara podem crear la nostra aplicació i iniciar amb la configuració en flaskr.py:

aplicació

També anem a afegir un mètode per connectar fàcilment a la base de dades especificada. Això es pot utilitzar per obrir una connexió a petició. Això serà molt útil més endavant.

taula4

Finalment afegim una línia a la fi de l'arxiu que executés el servidor si volem executar l'arxiu com una aplicació independent:

taula5

Amb això has de ser capaç de posar en marxa l'aplicació sense problemes. Ara fem servir la següent comanda:

$ python flaskr.py

Veuràs un missatge que indica que el servidor s'ha iniciat juntament amb la URL.

Si accedim a la URL ens donarà un error 404, ja que no tenim un web encara. Però ens centrarem en això una mica més tard. Primer hem d'aconseguir el funcionament de la base de dades.

Pas III: Creació de la base de dades

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Faustino va dir

    Hola, gràcies per l'article. ¿Que opines sobre tenir totes les routes juntes a l'estil Django ?. Quins avantatges hi ha a tenir el route per cada funncion a l'estil de Exprés, Flask o Bottle?

    1.    Ivan Molina Rebolledo va dir

      No he provat Django (Matame si vols) però podria dir que és per comoditat de qui programi. (Corriganme si m'equivoco)

  2.   Ivan Molina Rebolledo va dir

    L'article no està acabat !! Qui es va atrevir a postejar ?? D:

  3.   Guille va dir

    S'escapen errors ortogràfics com «conciste», el mateix autor en el seu comentari diu «Corriganme», seria bo tenir un corrector ortogràfic instal·lat i mirar les ratlles vermelles que surten sota algunes paraules. També és cert que no ha acabat d'escriure-ho i per tant de repassar.

  4.   erm3nda va dir

    Crec que no sóc l'únic que s'ha quedat com un gilipolles buscant el botó següent ... per passar de pàgina «o alguna cosa».

  5.   Linug va dir

    Tant de bo vinguin més, molt bona feina