Vai al contenuto

Come si lavora con i kit

In questa lezione impari a

  • preparare il PC (Python, VS Code, Thunder Client)
  • scaricare, estrarre e avviare un kit
  • capire come sono organizzate le lezioni e le missioni
  • riconoscere e risolvere gli errori più comuni

In questo corso costruiamo un'applicazione web vera: la Bacheca della classe, dove pubblicare avvisi, compiti ed eventi. Alla fine avrà un database, gli utenti con il login, un'API e sarà pronta per andare online.

Non si parte mai dal foglio bianco: ogni lezione ha il suo kit, un progetto già funzionante e con la grafica pronta, che contiene esattamente il codice spiegato nella lezione.

Il metodo, lezione per lezione

  1. SCARICA il kit          →  uno zip, da estrarre in una cartella vostra
  2. AVVIA e GUARDA          →  cosa fa l'applicazione nel browser?
  3. LEGGI il codice         →  con la spiegazione della lezione accanto
  4. FAI le MISSIONI         →  piccole modifiche, da ⭐ a ⭐⭐⭐
  5. CONFRONTA               →  il kit della lezione dopo parte da qui

Le missioni hanno tre livelli:

Livello Per chi Cosa chiede
⭐ tutti ripetere quello che c'è nel kit, cambiando poco
⭐⭐ chi ha capito combinare due cose viste nella lezione
⭐⭐⭐ chi vuole spingersi oltre qualcosa di nuovo, con un aiutino

Non serve finire tutte le missioni per andare avanti: la lezione successiva ha il suo kit nuovo, che riparte già funzionante. Chi resta indietro non resta bloccato.

Preparare il PC

Servono tre cose (nei PC del laboratorio ci sono già):

  1. Python 3.10 o successivo. Durante l'installazione su Windows spuntate Add python.exe to PATH. Per controllare: nel terminale python --version.
  2. Visual Studio Code, con l'estensione Python di Microsoft.
  3. L'estensione Thunder Client di VS Code (dalla lezione 5, per provare le API).

Utili ma non obbligatori: l'estensione SQLite Viewer (dalla lezione 4, per guardare dentro il database).

Avviare un kit

  1. Scaricate lo zip ed estraetelo (tasto destro → Estrai tutto). Non lavorate dentro lo zip: i file sembrano aperti, ma le modifiche non si salvano.
  2. In VS Code: File → Apri cartella… e scegliete la cartella del kit. A sinistra dovete vedere subito app.py.
  3. Aprite il terminale (Terminale → Nuovo terminale) e installate le librerie:
pip install -r requirements.txt
  1. Avviate l'applicazione:
python app.py
  1. Aprite il browser su http://127.0.0.1:5000. Per fermare il server: Ctrl + C nel terminale.

requirements.txt è l'elenco delle librerie di cui il progetto ha bisogno. Il comando pip install -r le installa tutte in un colpo solo.

E l'ambiente virtuale?

Nei progetti veri si usa un ambiente virtuale: una cartella .venv con una copia di Python solo per quel progetto, così progetti diversi non si "pestano i piedi" con versioni diverse delle stesse librerie. Lo vediamo nella lezione 1. Per le prime prove in laboratorio potete anche farne a meno.

Gli errori più comuni

Errore Causa Soluzione
ModuleNotFoundError: No module named 'flask' librerie non installate pip install -r requirements.txt
'pip' non è riconosciuto… Python non è nel PATH usate py -m pip install -r requirements.txt e py app.py
can't open file 'app.py' il terminale è nella cartella sbagliata aprite in VS Code la cartella del kit, non quella sopra
Address already in use c'è già un server acceso chiudete l'altro terminale (Ctrl + C)
TemplateNotFound: index.html la cartella templates ha un nome sbagliato o è nel posto sbagliato deve chiamarsi templates ed essere accanto ad app.py
Il CSS modificato non cambia il browser usa la copia vecchia Ctrl + F5
jinja2…UndefinedError nel template usate una variabile che non avete passato controllate i nomi in render_template(...)

Leggete l'errore dal fondo. Quando Python si ferma stampa una lunga lista (il traceback): l'ultima riga dice cosa è successo, la riga con app.py più in basso dice dove. Con debug=True lo stesso traceback compare anche nel browser.

Cosa trovate in ogni kit

File Contenuto
app.py il server: route e logica, commentato
templates/ le pagine HTML con Jinja2
static/css/style.css la grafica: non serve toccarla (ma potete!)
requirements.txt le librerie da installare
COME-AVVIARE.txt i passi di questa pagina, in breve
MISSIONI.txt le missioni della lezione

Dalla lezione 4 arrivano anche db.py e schema.sql (il database), dalla 7 .env.esempio (le impostazioni segrete).

⭐ Missione 0 – Pronti, partenza

Scaricate il kit della lezione 1, avviatelo e aprite la bacheca nel browser. Poi fate apposta tre errori e leggete cosa succede: rinominate templates in template, cancellate i due punti alla fine di una riga def, scrivete annunci2 al posto di annunci in una route. Per ognuno annotate cosa dice l'errore e in quale riga. Infine rimettete tutto a posto.