bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
flask_basic

Flask és un framework o entorn de treball dedicat a facilitar la creació d'aplicacions web utilitzant el llenguatge de programació Python.

Un framework és un marc o esquema de treball que consisteix en un conjunt d'eines i mòduls per a facilitar-nos el desenvolupament de programari. En aquest cas, Flask, igual que el famós Django, és un framework que ens facilita la creació d'aplicacions web dinàmiques utilitzant Python.

Flask i l'arquitectura MVC

Flask és un framework que implementa l'arquitectura MVC https://ca.wikipedia.org/wiki/Model-Vista-Controlador, i ho fa d'una manera molt particular (un cop hagis comprès la seva manera de treballar realment et resultarà molt còmoda i et sorprendrà l'enorme quantitat de possibilitats d'aplicacions que pots desenvolupar utilitzant aquest framework.

Instal·la Flask al teu sistema operatiu

Abans d'instal·lar Flask al teu sistema operatiu has d'entendre el següent:

Com es gestiona un projecte de desenvolupament professional

Quan treballem amb un projecte professional, és a dir, quan anem a crear una aplicació real utilitzant qualsevol framework com Flask o diverses llibreries és una bona pràctica utilitzar un entorn virtual per a evitar que, amb una actualització d'aquests frameworks, llibreries o fins i tot del nostre sistema operatiu, la nostra aplicació o «projecte d'aplicació» deixi de funcionar degut a diferències d'implementació, canvis en els requeriments o incompatibilitat. Pel que en lloc d'instal·lar Flask al nostres sistema operatiu, l'instal·lem dins de l'entorn virtual abans esmentat. Però en aquest cas, com que és un tutorial de Flask des de zero, està enfocat en ensenyar a utilitzar el framework i no un entorn virtual. Més endavant hauràs d'incloure aquestes «bones pràctiques» a cadascun dels teus projectes!

Per a instal·lar Flask al teu sistema operatiu simplement has de recórrer al gestor de paquets de Python conegut com a pip. En primer lloc, actualitza pip amb

python3 pip install --upgrade pip

o

python3 -m pip install --upgrade pip

Després, instal·la Flask amb

python3 -m pip install flask

I ja tindries Flask instal·lat al teu sistema. Si més endavant el vols desinstal·lar perquè has après a utilitzar entorns virtuals simplement utilitza la mateixa ordre però substituint install per uninstall.

Crea el controlador

Crea una carpeta anomenada Flask i a dins crea dues carpetes: static i templates, i dos fitxers: controlador.py i models.py. A dins de la carpeta static crea'n una anomenada images.

Obre la carpeta Flask amb Visual Studio Code o amb el teu editor preferit.

Abans de continuar, llegeix el següent:

Flask està configurat per defecte per a utilitzar la carpeta templates per a fitxers HTML de vistes i la carpeta static per a fitxers d'estils (CSS), imatges (carpeta images) i altres com fitxers JavaScript. Cadascun d'aquests elements pertanyents a les vistes s'ha de trobar a dins d'una subcarpeta o subdirectori de static, pel que en el cas d'utilitzar fitxers .css o .js o imatges, hem de crear subcarpetes per a allotjar-los, que seran css, js o com la que ja hem creat abans images. Com que ara no anem a utilitzar cap d'aquests fitxers no les necessitem.

Has de comprendre que les carpetes que has creat a dins de la carpeta Flask són els subdirectoris que utilitza Flask per a obligar-nos a desenvolupar les aplicacions seguint l'arquitectura MVC. Així que cada cop que creïs un projecte és probable que hagis de crear aquestes mateixes carpetes, entre d'altres, per a allotjar plantilles, fitxers d'estils, imatges, etc.

Importa la classe Flask i crea app al controlador de l'aplicació

El primer que hem de fer és indicar que es tracta d'un fitxer script de Python i després importar el framework Flask per a començar a treballar amb ell. Per a treballar amb un framework o llibreria qualsevol el primer requisit és tenir-la instal·lada, i el segon «importar-la» al fitxer Python on l'anem a utilitzar. Així que obrim el fitxer controlador.py i hi afegim

from flask import Flask

A continuació afegim

app = Flask (__name__)

Importar la classe Flask és estrictament necessari per a treballar amb Flask, i ens permetrà crear objectes basats en aquesta classe. Aquests objectes seran aplicacions. I és el que fem a la segona línia: creem un objecte que hereta de la classe Flask i, per tant, ens permetrà utilitzar els mètodes dels que disposa la classe Flask per a cada objecte.

Així ja hem creat, simplement, una aplicació. Ara és el moment de definir les «rutes». I ho farem utilitzant un mètode de la classe Flask, que és routes.

Crea les rutes de l'aplicació al controlador

Però… què són les rutes? Les rutes són bàsicament funcions que determinen què passarà en carregar determinada url de la nostra aplicació. Una url és una determinada adreça al navegador, i totes la pàgines o llocs web tenen una url d'inici o «home» que és la url principal. Així que anem a crea