Installazione di Django

LT
Luca Terribili
Autore

In questo articolo troverai una guida completa, passo‑passo, per installare, configurare e personalizzare il tuo primo progetto Django. Partiremo dai requisiti di base, passeremo all’installazione del framework, alla creazione di un’applicazione e alla gestione delle migrazioni, fino alle migliori pratiche per la configurazione dei file di impostazione. Ogni sezione è arricchita da esempi pratici e suggerimenti per evitare gli errori più comuni.

Seguendo le indicazioni riportate potrai avviare il tuo ambiente di sviluppo in pochi minuti, testare le prime pagine e preparare il progetto per la fase di produzione. Non è richiesta alcuna esperienza pregressa avanzata su Django: basta conoscere le basi di Python e aver installato pip. Preparati a scoprire come sfruttare al meglio questo potente strumento per realizzare applicazioni web scalabili e sicure.

Prerequisiti per l'installazione

Per iniziare a lavorare con Django è fondamentale disporre di Python versione 3.6 o superiore. Se il tuo sistema non ha ancora installato Python, visita il sito ufficiale python.org, scarica l’installer adatto al tuo OS e segui le istruzioni di installazione. Una volta installato, puoi verificare la versione con il comando python --version.

Il secondo requisito è pip, il gestore di pacchetti predefinito per Python. In molti ambienti recenti pip è già incluso, ma per assicurarti di avere l’ultima versione è sufficiente eseguire python -m ensurepip --upgrade. Questo comando aggiorna pip all’ultima release, garantendo la compatibilità con i pacchetti più recenti.

Infine, Django può interfacciarsi con diversi sistemi di gestione di database come SQLite, PostgreSQL o MySQL. Per lo sviluppo locale è consigliato iniziare con SQLite, che è già integrato in Python e non richiede configurazioni aggiuntive. Se prevedi di utilizzare PostgreSQL o MySQL, assicurati di installare i driver corrispondenti (psycopg2 per PostgreSQL, mysqlclient per MySQL) e di creare un database di test prima di procedere.

Installazione di Django

Una volta soddisfatti tutti i prerequisiti, l’installazione di Django è estremamente semplice: apri il terminale e digita pip install Django. Questo comando scarica e installa l’ultima versione stabile del framework insieme a tutte le dipendenze necessarie.

Per verificare che l’installazione sia andata a buon fine, esegui python -m django --version. Se il risultato mostra un numero di versione, ad esempio 4.2.5, significa che Django è pronto per essere utilizzato sul tuo sistema. Puoi anche controllare la presenza del comando django-admin, che è lo strumento da riga di comando per gestire i progetti.

Con Django installato, il prossimo passo riguarda la creazione di un nuovo progetto. Usa il comando django-admin startproject mio_progetto, sostituendo mio_progetto con il nome che preferisci per il tuo progetto. Questo comando genera una struttura di cartelle di base contenente file di configurazione, un gestore di script (manage.py) e un modulo principale (settings.py) dove potrai definire le impostazioni di Django.

Configurazione del progetto Django

Dopo aver creato il progetto, spostati nella directory appena generata con cd mio_progetto. Da qui, puoi avviare il server di sviluppo integrato eseguendo python manage.py runserver. Il server risponde all’indirizzo http://127.0.0.1:8000/, dove troverai la pagina di benvenuto di Django, segno che l’ambiente è correttamente configurato.

Per aggiungere funzionalità al tuo progetto, devi creare delle applicazioni (app) indipendenti. Utilizza il comando python manage.py startapp nome_app per generare la struttura di una nuova app, dove nome_app è il nome della tua scelta. Questa operazione crea cartelle come models.py, views.py e templates/, pronte per contenere il tuo codice.

Infine, per rendere l’applicazione operativa, apri il file settings.py e aggiungi il nome dell’app nella lista INSTALLED_APPS. Questo passaggio permette a Django di riconoscere e caricare automaticamente le componenti dell’applicazione durante l’avvio del server.

Creazione di un'applicazione Django

Un’applicazione in Django rappresenta un modulo riutilizzabile che incapsula una specifica funzionalità, ad esempio un blog, un sistema di commenti o un pannello di amministrazione. Dopo aver eseguito startapp, la struttura generata include file fondamentali: models.py per definire le tabelle del database, views.py per gestire la logica di risposta alle richieste HTTP, e urls.py (se creato) per la definizione delle rotte.

All’interno di models.py puoi definire classi Python che ereditano da django.db.models.Model. Ogni classe diventa una tabella nel database, con campi che rappresentano le colonne. Dopo aver scritto i tuoi modelli, le migrazioni (vedi sezione successiva) si occuperanno di creare o aggiornare le tabelle corrispondenti.

Le view sono funzioni o classi che ricevono una richiesta HTTP e restituiscono una risposta, tipicamente sotto forma di una pagina HTML renderizzata con un template. Per collegare le view agli URL, aggiungi le rotte in urls.py della tua app e includile nel file principale urls.py del progetto. Questa separazione chiara tra logica e presentazione rende il codice più leggibile e manutenibile.

Esecuzione delle migrazioni

Le migrazioni sono il meccanismo di Django per sincronizzare i modelli definiti in models.py con il database reale. Dopo aver creato o modificato un modello, esegui python manage.py makemigrations per generare i file di migrazione che descrivono le modifiche da apportare al database.

Una volta generati i file di migrazione, applicali usando python manage.py migrate. Questo comando esegue le operazioni di creazione, modifica o eliminazione delle tabelle nel database, garantendo che la struttura dati corrisponda esattamente ai modelli Python. Se vuoi limitare l’operazione a una sola app, aggiungi il nome dell’app: python manage.py migrate nome_app.

È buona pratica eseguire le migrazioni ogni volta che apporti cambiamenti ai modelli, sia in fase di sviluppo che prima di un rilascio in produzione. In questo modo, eviti incongruenze tra il codice e il database, riducendo il rischio di errori runtime.

Avvio del server di sviluppo

Il server di sviluppo di Django è uno strumento leggero ma potente, ideale per testare rapidamente le modifiche al codice. Dopo aver effettuato le migrazioni, lancia nuovamente il server con python manage.py runserver. L’applicazione rimarrà attiva finché non interrompi il processo (Ctrl+C nel terminale).

Durante lo sviluppo, il server rileva automaticamente le modifiche ai file .py e ricarica l’applicazione, permettendoti di vedere i risultati immediatamente nel browser. Tuttavia, il server integrato non è ottimizzato per la produzione: per un sito live è consigliato utilizzare un server web più robusto come Gunicorn, uWSGI o Apache con mod_wsgi.

Per facilitare il debugging, imposta DEBUG = True nel file settings.py. Questo attiva la pagina di errore dettagliata di Django, che mostra stack trace e variabili di contesto, ma ricorda di passare a DEBUG = False prima di pubblicare il sito per proteggere le informazioni sensibili.

Personalizzazione dell'installazione

Il cuore della configurazione di un progetto Django risiede in settings.py. Qui puoi definire il database da utilizzare (ad esempio impostando ENGINE e NAME per PostgreSQL), configurare le chiavi segrete (SECRET_KEY), attivare o disattivare i middleware, e specificare i percorsi dei file statici e dei template.

Per gestire i file statici (CSS, JavaScript, immagini) aggiungi le directory al parametro STATICFILES_DIRS e definisci la cartella di raccolta con STATIC_ROOT. I template devono essere collocati in una cartella denominata templates all’interno dell’applicazione o a livello di progetto, e il percorso deve essere incluso in TEMPLATES['DIRS'].

Se il progetto richiede funzionalità avanzate, come l’autenticazione esterna, la gestione dei segnali o l’integrazione con API di terze parti, puoi aggiungere i pacchetti necessari al file requirements.txt e installarli con pip install -r requirements.txt. In questo modo mantieni il tuo ambiente di sviluppo coerente e facilmente replicabile su altri server o da altri membri del team.

Riassunto

Hai completato tutti i passaggi fondamentali per avviare un progetto Django: dall’installazione di Python e pip, passando per la creazione e configurazione di un progetto, la definizione di applicazioni, l’esecuzione delle migrazioni, fino alla personalizzazione delle impostazioni di sviluppo. Il risultato è un ambiente pronto a ospitare le tue idee, con una solida base per costruire model, view, template e app in maniera rapida ed efficace.

Il prossimo passo consiste nell’esplorare le funzionalità avanzate offerte da Django, come la gestione delle classi basate su view, le query ottimizzate, i segnali per le operazioni automatizzate e l’integrazione con servizi esterni. Consulta la documentazione ufficiale, sperimenta con progetti reali e partecipa alla community per tenerti aggiornato sulle best practice e le novità del framework.

Con le competenze acquisite, sei ora in grado di sviluppare applicazioni web robuste, scalabili e sicure, pronte per passare dalla fase di prototipo a quella di produzione. Buon lavoro e divertiti a programmare con Django!