Django è un framework web di alto livello che consente lo sviluppo rapido di siti web sicuri e gestibili. È un framework gratuito e open-source scritto in Python. Django è popolare anche per funzionalità aggiuntive come prestazioni, sicurezza, scalabilità, portabilità e manutenibilità.
Questa guida mostrerà come installare Django e configurare una semplice app web su Ubuntu 20.04.
Django su Ubuntu
Ci sono diversi modi per installare Django sul sistema. Ogni metodo si adatta a un obiettivo diverso.
- Installazione globale: Django è facilmente disponibile nei repository ufficiali dei pacchetti di Ubuntu. Possiamo installarlo direttamente usando il gestore di pacchetti APT. Sebbene il metodo di installazione sia semplice, offre meno flessibilità rispetto ad altri metodi. Inoltre, potrebbe non contenere l'ultima versione del framework.
- Installazione tramite
pipin un ambiente virtuale: Utilizzando strumenti comevenvevirtualenv, possiamo creare un ambiente virtuale e installarvi Django. Il vantaggio di questo approccio è che non influisce sul sistema più ampio. Consente inoltre la personalizzazione e i pacchetti per singolo progetto. È il metodo più pratico e consigliato per lavorare con Django. - Installazione della versione di sviluppo di Django: Django è disponibile anche su GitHub. L'ultima versione di sviluppo conterrà le funzionalità e le correzioni più recenti. Tuttavia, ciò comporta il rischio di potenziali problemi di prestazioni e stabilità.
Questa guida presuppone che tu abbia un server Ubuntu configurato correttamente. Se non hai ancora un server Ubuntu, puoi seguire la nostra guida su come configurare il tuo server Ubuntu.
Installazione di Django su Ubuntu
1. Installazione globale tramite il gestore di pacchetti
Django è facilmente disponibile nei repository ufficiali dei pacchetti. Il processo di installazione è piuttosto semplice. Per prima cosa, aggiorna l'indice dei pacchetti APT:
|
1 |
$ sudo apt update |
Successivamente, verifica la versione di Python installata. Per impostazione predefinita, Ubuntu 20.04 viene fornito con Python 3.8:
|
1 |
$ python3 -V |
Ora siamo pronti per installare Django:
|
1 |
$ sudo apt install python3-django |
Possiamo verificare se l'installazione è andata a buon fine. Esegui il seguente comando per verificare la versione di Django:
|
1 |
$ django-admin --version |
Questo conferma che Django è stato installato correttamente. Nota che la versione di Django non è l'ultima versione stabile. Al momento della stesura di questa guida, l'ultima versione disponibile di Django è v3.2.5 (LTS release).
2. Installazione di Django con pip (in un ambiente virtuale)
Questo è il modo consigliato per installare Django perché offre la massima flessibilità. Genereremo l'ambiente virtuale utilizzando il modulo venv che fa parte della libreria standard di Python 3. Ti consente di creare ambienti Python virtuali e installare pacchetti Python senza causare modifiche altrove nel sistema. Puoi avere numerosi ambienti virtuali con configurazioni uniche.
Cominciamo. Per prima cosa, abbiamo bisogno dei moduli Python pip e venv :
|
1 2 |
$ sudo apt update $ sudo apt install python3-pip python3-venv |
I moduli sono stati installati correttamente. Ora creeremo una directory dedicata per l'ambiente virtuale:
|
1 |
$ mkdir -pv ~/sample_project |
Successivamente, cambia la directory attiva con la nuova directory:
|
1 |
$ cd ~/sample_project |
Ora possiamo dire a venv di creare un ambiente virtuale all'interno della directory. Per quanto riguarda il nome dell'ambiente, dovrebbe essere qualcosa di descrittivo:
|
1 |
$ python3 -m venv sample_project_env |
Il modulo venv creerà una copia di Python e di pip in una struttura di directory isolata all'interno della directory del progetto. Conterrà una directory con il nome selezionato che contiene la gerarchia di file in cui sono installati tutti i pacchetti.
Per installare pacchetti aggiuntivi, dobbiamo attivare l'ambiente:
|
1 |
$ source sample_project_env/bin/activate |
Il prompt della shell dovrebbe cambiare in qualcosa di simile a questo:
All'interno dell'ambiente virtuale, ora possiamo installare Django:
|
1 |
$ pip install django |
Verifica se l'installazione è andata a buon fine:
|
1 |
$ django-admin --version |
Per uscire dall'ambiente virtuale, esegui il seguente comando:
|
1 |
$ deactivate |
3. Installazione della versione di sviluppo di Django
La versione di sviluppo di Django è direttamente disponibile su GitHub. Useremo git per clonarlo e distribuirlo all'interno di un ambiente virtuale.
Innanzitutto, assicurati di avere installato gli strumenti necessari. Il seguente comando installerà venv e pip (moduli Python) e git:
|
1 |
$ sudo apt update && sudo apt install python3-pip python3-venv git |
Successivamente, clona il repository di Django. Conterrà tutte le ultime funzionalità e correzioni di bug (a scapito della stabilità). Lo cloneremo in una directory ~/django-dev:
|
1 |
$ git clone git://github.com/django/django ~/django-dev |
Cambia la directory corrente con il repository clonato:
|
1 |
$ cd ~/django-dev |
Successivamente, crea un ambiente virtuale utilizzando il modulo venv di Python:
|
1 |
$ python3 -m venv sample_project_env |
Quindi, attiva l'ambiente virtuale:
|
1 |
$ source sample_project_env/bin/activate |
Ora possiamo installare il Django che abbiamo clonato da GitHub. Qui, il flag -e si riferisce alla modalità "editable" per consentire l'installazione dal controllo di versione:
|
1 |
$ pip install -e ~/django-dev |
Infine, verifica l'installazione:
|
1 |
$ django-admin --version |
Progetto Django di esempio
Finora abbiamo mostrato come installare Django sul sistema. Ora è il momento di mettere in azione Django. In questa sezione, mostreremo come creare un progetto Django di esempio. Il progetto di esempio verrà creato all'interno di un ambiente virtuale.
Crea una directory per il progetto di esempio:
|
1 |
$ mkdir -pv ~/django-test |
Cambia la directory corrente con la directory del progetto:
|
1 |
$ cd ~/django-test |
Quindi, usa il modulo venv per creare un ambiente virtuale Python:
|
1 |
$ python3 -m venv dummy_env |
L'ambiente virtuale è pronto. Attiva l'ambiente:
|
1 |
$ source dummy_env/bin/activate |
Possiamo installare Django all'interno dell'ambiente:
|
1 |
$ pip install django |
Possiamo usare django-admin per compilare la base del progetto. Qui, il progetto di esempio si chiamerà sampleproject. Il progetto avrà una directory all'interno della directory dell'ambiente che include tutti i file necessari.
manage.py: Uno script di gestione che amministra varie attività specifiche di Django.progetto di esempio: Una directory con il nome del progetto che contiene il codice effettivo del progetto.
Tuttavia, non vogliamo un groviglio di troppe directory nidificate. Pertanto, diciamo a Django di posizionare i file e le directory nella directory corrente:
|
1 |
$ django-admin startproject sampleproject . |
Il passo successivo è la migrazione del database. Per impostazione predefinita, Django utilizza SQLite. Le migrazioni applicano allo schema del database tutte le modifiche apportate ai modelli Django. Esegui il seguente comando per migrare il database:
|
1 |
$ python manage.py migrate |
Infine, creeremo un utente amministratore per utilizzare l'interfaccia di amministrazione di Django. Esegui il seguente comando:
|
1 |
$ python manage.py createsuperuser |
Ti verrà chiesto un nome utente, un indirizzo email e una password per l'utente.
ALLOWED_HOSTS nelle impostazioni di Django
Per testare l'applicazione, dobbiamo modificare una determinata direttiva nelle impostazioni di Django. Apri il file settings.py in un editor di testo:
|
1 |
$ nano ~/django-test/sampleproject/settings.py |
Siamo interessati alla direttiva ALLOWED_HOSTS. Descrive un elenco di indirizzi o nomi di dominio che possono connettersi all'istanza di Django. Qualsiasi richiesta host in arrivo da un host non presente nell'elenco genererà un'eccezione. È richiesto da Django per prevenire determinate classi di vulnerabilità di sicurezza.
All'interno delle parentesi quadre, elenca gli indirizzi IP o i nomi di dominio associati al server Django. Ogni elemento sarà elencato tra virgolette, separato da una virgola (,). Ecco come apparirebbe la struttura della direttiva:
|
1 |
$ ALLOWED_HOSTS = ['<server_ip_or_domain>', '<server2_ip_or_doman>'] |
Salva l'elenco e chiudi l'editor.
Test del server
Ora possiamo avviare il server di distribuzione di Django. Presenterà un nuovo progetto Django. Nota che dovrebbe essere utilizzato solo a scopo di sviluppo. Per una distribuzione completa, segui la guida ufficiale di Django sulla distribuzione.
Prima di accedere al server di sviluppo, assicurati che il firewall consenta l'accesso alla porta 8000. Se segui la configurazione del server Ubuntu guida, indica a UFW di aprire la porta 8000 per la comunicazione:
|
1 |
$ sudo ufw allow 8000 |
UFW è un firewall comune disponibile su tutte le principali distribuzioni Linux. Ecco una guida che spiega varie nozioni di base di UFW. Il server di sviluppo è ora pronto per essere eseguito. Avvia il server:
|
1 |
$ python manage.py runserver <server_ip>:8000 |
Successivamente, visita l'indirizzo IP del server sulla porta 8000 in un browser web. Ti porterà alla pagina di benvenuto di Django:
|
1 |
$ http://<server_ip>:8000 |
Per accedere al pannello di amministrazione di Django, aggiungi /admin/ alla fine dell'URL:
|
1 |
$ http://<server_ip>:8000/admin/ |
Inserisci il nome utente e la password dell'amministratore per accedere alla sezione di amministrazione:
Puoi arrestare il server premendo CTRL-C nel terminale.
Considerazioni finali
Il progetto Django offre una base strutturale per la progettazione di un sito più completo. Fornisce gli strumenti principali necessari per alimentare un'applicazione web. Sfruttare un framework web come Django ti consente uno sviluppo del progetto più rapido e di dedicare più tempo agli aspetti unici della tua applicazione.
Buona programmazione!












Commenti
Ancora nessun commento. Scrivi il primo.