Introduzione
Django è un framework web completo per Python, utilizzato per lo sviluppo di siti web e applicazioni dinamiche. Utilizzando Django, è possibile creare rapidamente applicazioni web Python e fare affidamento sul framework per svolgere gran parte del lavoro pesante.
In questa guida, installerai Django su un server Ubuntu 22.04. Dopo l’installazione, avvierai un nuovo progetto da utilizzare come base per il tuo sito.
Metodi Diversi
Esistono diversi modi per installare Django, a seconda delle tue esigenze e di come desideri configurare il tuo ambiente di sviluppo. Questi hanno vantaggi diversi e un metodo potrebbe adattarsi meglio alla tua situazione specifica rispetto agli altri.
Alcuni dei metodi diversi includono:
- Installazione globale da pacchetti: I repository ufficiali di Ubuntu contengono pacchetti Django che possono essere installati con il tradizionale gestore di pacchetti
apt
. Questo è semplice, ma non così flessibile come alcuni altri metodi. Inoltre, la versione contenuta nei repository potrebbe essere più vecchia rispetto alle versioni ufficiali disponibili dal progetto. - Installa con
pip
in un ambiente virtuale: Puoi creare un ambiente autocontenuto per i tuoi progetti utilizzando strumenti comevenv
evirtualenv
. Un ambiente virtuale ti permette di installare Django in una directory di progetto senza influire sul sistema più ampio, insieme ad altre personalizzazioni e pacchetti per progetto. Questo è tipicamente l’approccio più pratico e raccomandato per lavorare con Django. - Installa la versione di sviluppo con
git
: Se desideri installare l’ultima versione di sviluppo invece della release stabile, puoi acquisire il codice dal repository Git. Questo è necessario per ottenere le ultime funzionalità/correzioni e può essere fatto all’interno del tuo ambiente virtuale. Le versioni di sviluppo non hanno le stesse garanzie di stabilità delle versioni più stabili, tuttavia.
Prerequisiti
Prima di iniziare, dovresti avere un utente non root con privilegi sudo disponibile sul tuo server Ubuntu 22.04. Per configurarlo, segui la nostra guida alla configurazione iniziale del server Ubuntu 22.04.
Installazione globale tramite pacchetti
Se desideri installare Django usando i repository di Ubuntu, il processo è molto semplice.
Innanzitutto, aggiorna l’indice dei pacchetti locali con apt
:
Successivamente, controlla quale versione di Python hai installato. 22.04 viene fornito con Python 3.10 per impostazione predefinita, che puoi verificare digitando:
Dovresti vedere un output simile a questo:
OutputPython 3.10.4
Successivamente, installa Django:
Puoi verificare che l’installazione sia stata eseguita con successo digitando:
Output3.2.12
Ciò significa che il software è stato installato con successo. Potresti anche notare che la versione di Django non è l’ultima versione stabile. Per saperne di più su come utilizzare il software, salta avanti per imparare come creare un progetto di esempio.
Installa con pip in un ambiente virtuale
Il modo più flessibile per installare Django sul tuo sistema è all’interno di un ambiente virtuale. Ti mostreremo come installare Django in un ambiente virtuale che creeremo con il modulo venv
, parte della libreria standard di Python 3. Questo strumento ti consente di creare ambienti Python virtuali e installare pacchetti Python senza influenzare il resto del sistema. Puoi quindi selezionare i pacchetti Python su base progetto, indipendentemente dai conflitti con i requisiti di altri progetti.
Iniziamo aggiornando l’indice dei pacchetti locali:
Controlla la versione di Python che hai installato:
OutputPython 3.10.4
Successivamente, installiamo pip
e venv
dai repository di Ubuntu:
Ora, ogni volta che avvii un nuovo progetto, puoi creare un ambiente virtuale per esso. Inizia creando e spostandoti in una nuova directory di progetto:
Successivamente, crea un ambiente virtuale all’interno della directory del progetto utilizzando il comando python
compatibile con la tua versione di Python. Chiameremo il nostro ambiente virtuale my_env
, ma dovresti dargli un nome descrittivo:
Questo installerà versioni autonome di Python e pip
in una struttura di directory isolata all’interno della directory del tuo progetto. Verrà creata una directory con il nome che selezioni, che conterrà l’organizzazione dei file dove verranno installati i tuoi pacchetti.
Per installare pacchetti nell’ambiente isolato, devi attivarlo digitando:
Il tuo prompt dovrebbe cambiare per riflettere che sei ora nel tuo ambiente virtuale. Apparirà qualcosa del genere: (my_env)username@hostname:~/newproject$
.
Nel tuo nuovo ambiente, puoi usare pip
per installare Django. Indipendentemente dalla tua versione di Python, pip
dovrebbe essere semplicemente chiamato pip
quando sei nel tuo ambiente virtuale. Nota anche che non è necessario utilizzare sudo
poiché stai installando localmente:
Puoi verificare l’installazione digitando:
Output4.0.4
Nota che la tua versione potrebbe essere diversa da quella mostrata qui.
Per uscire dall’ambiente virtuale, è necessario emettere il comando deactivate
da qualsiasi punto del sistema:
Il prompt dovrebbe tornare alla visualizzazione convenzionale. Quando desideri lavorare nuovamente sul tuo progetto, riattiva l’ambiente virtuale spostandoti nella directory del tuo progetto e attivandolo:
Installazione della versione di sviluppo con Git
Se hai bisogno di una versione di sviluppo di Django, puoi scaricare ed installare Django dal suo repository Git. Facciamo questo da dentro un ambiente virtuale.
Prima di tutto, aggiorniamo l’indice locale dei pacchetti:
Controlla la versione di Python che hai installato:
OutputPython 3.10.4
Successivamente, installa pip
e venv
dai repository ufficiali:
Il passo successivo è clonare il repository di Django. Tra le release, questo repository avrà funzionalità e correzioni di bug più aggiornate a scapito della stabilità. Puoi clonare il repository in una directory chiamata ~/django-dev
nella tua directory home digitando:
Cambia in questa directory:
Crea un ambiente virtuale utilizzando il comando python
compatibile con la versione di Python installata:
Attivalo:
Successivamente, è possibile installare il repository utilizzando pip
. L’opzione -e
installerà in modalità “modificabile”, che è necessaria quando si installa da un controllo di versione:
È possibile verificare che l’installazione sia stata eseguita con successo digitando:
Output4.0.4.2
Di nuovo, la versione che visualizzi potrebbe non corrispondere a quanto mostrato qui.
Ora hai l’ultima versione di Django nel tuo ambiente virtuale.
Creazione di un Progetto di Esempio
Con Django installato, puoi iniziare a costruire il tuo progetto. Vedremo come creare un progetto e testarlo sul tuo server di sviluppo utilizzando un ambiente virtuale.
Prima, crea una directory per il tuo progetto e cambia in essa:
Successivamente, crea il tuo ambiente virtuale:
Attiva l’ambiente:
Installa Django:
Per creare il tuo progetto, puoi utilizzare django-admin
con il comando startproject
. Chiameremo il nostro progetto djangoproject
, ma puoi sostituire questo con un nome diverso. startproject
creerà una directory all’interno della tua directory di lavoro corrente che include:
- A management script,
manage.py
, which you can use to administer various Django-specific tasks. - A directory (with the same name as the project) that includes the actual project code.
Per evitare di avere troppe directory nidificate, tuttavia, diciamo a Django di posizionare lo script di gestione e la directory interna nella directory corrente (notare il punto finale):
Per migrare il database (questo esempio utilizza SQLite per impostazione predefinita), utilizziamo il comando migrate
con manage.py
. Le migrazioni applicano tutte le modifiche apportate ai tuoi modelli Django allo schema del database.
Per migrare il database, digita:
Vedrai un output simile al seguente:
OutputOperations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
Infine, creiamo un utente amministratore in modo che tu possa utilizzare l’interfaccia amministrativa di Django. Facciamo questo con il comando createsuperuser
:
Ti verrà chiesto di inserire un nome utente, un indirizzo email e una password per il tuo utente.
Modifica di ALLOWED_HOSTS nelle impostazioni di Django
Per testare con successo la tua applicazione, sarà necessario modificare una delle direttive nelle impostazioni di Django.
Apri il file delle impostazioni digitando:
All’interno, individua la direttiva ALLOWED_HOSTS
. Questa definisce un elenco di indirizzi o nomi di dominio che possono essere utilizzati per connettersi all’istanza di Django. Una richiesta in arrivo con un’intestazione Host che non è in questo elenco genererà un’eccezione. Django richiede che tu imposti questo per prevenire una certa classe di vulnerabilità alla sicurezza.
Nelle parentesi quadre, elenca gli indirizzi IP o i nomi di dominio associati al tuo server Django. Ogni elemento dovrebbe essere elencato tra virgolette, con voci separate separate da una virgola. Se desideri richieste per un intero dominio e per tutti i sottodomini, aggiungi un punto all’inizio dell’elemento:
Quando hai finito, salva il file ed esci dall’editor.
Testing del server di sviluppo
Una volta che hai un utente, puoi avviare il server di sviluppo di Django per vedere com’è un nuovo progetto Django. Dovresti usarlo solo per scopi di sviluppo. Quando sei pronto per distribuire, assicurati di seguire attentamente le linee guida di Django sulla distribuzione.
Prima di provare il server di sviluppo, assicurati di aprire la porta appropriata nel firewall. Se hai seguito la guida iniziale alla configurazione del server e stai usando UFW, puoi aprire la porta 8000
digitando:
Avvia il server di sviluppo:
Visita l’indirizzo IP del tuo server seguito da :8000
nel tuo browser web:
http://your_server_ip:8000
Dovresti vedere qualcosa che assomiglia a questo:
Per accedere all’interfaccia di amministrazione, aggiungi /admin/
alla fine del tuo URL:
http://your_server_ip:8000/admin/
Questo ti porterà a una schermata di accesso:
Se inserisci il nome utente e la password di amministrazione che hai appena creato, avrai accesso alla sezione di amministrazione principale del sito:
Per ulteriori informazioni su come lavorare con l’interfaccia di amministrazione di Django, consulta “Come abilitare e connettere l’interfaccia di amministrazione di Django.”
Quando hai finito di esaminare il sito predefinito, puoi fermare il server di sviluppo digitando CTRL-C
nel tuo terminale.
Il progetto Django che hai creato fornisce la base strutturale per progettare un sito più completo. Dai un’occhiata alla documentazione di Django per maggiori informazioni su come costruire le tue applicazioni e personalizzare il tuo sito.
Conclusione
Dovresti ora avere Django installato sul tuo server Ubuntu 22.04, fornendo gli strumenti principali necessari per creare potenti applicazioni web. Dovresti anche sapere come avviare un nuovo progetto e lanciare il server di sviluppo. Sfruttare un framework web completo come Django può aiutare a velocizzare lo sviluppo, consentendoti di concentrarti solo sugli aspetti unici delle tue applicazioni.
Se desideri ulteriori informazioni su come lavorare con Django, comprese discussioni approfondite su cose come modelli e viste, consulta la nostra serie di sviluppo Django.