Come installare il framework web Django su Ubuntu 22.04

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 come venv e virtualenv. 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:

  1. sudo apt update

Successivamente, controlla quale versione di Python hai installato. 22.04 viene fornito con Python 3.10 per impostazione predefinita, che puoi verificare digitando:

  1. python3 -V

Dovresti vedere un output simile a questo:

Output
Python 3.10.4

Successivamente, installa Django:

  1. sudo apt install python3-django

Puoi verificare che l’installazione sia stata eseguita con successo digitando:

  1. django-admin --version
Output
3.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:

  1. sudo apt update

Controlla la versione di Python che hai installato:

  1. python3 -V
Output
Python 3.10.4

Successivamente, installiamo pip e venv dai repository di Ubuntu:

  1. sudo apt install python3-pip python3-venv

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:

  1. mkdir ~/newproject
  2. cd ~/newproject

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:

  1. python3 -m venv my_env

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:

  1. source my_env/bin/activate

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:

  1. pip install django

Puoi verificare l’installazione digitando:

  1. django-admin --version
Output
4.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:

  1. deactivate

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:

  1. cd ~/newproject
  2. source my_env/bin/activate

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:

  1. sudo apt update

Controlla la versione di Python che hai installato:

  1. python3 -V
Output
Python 3.10.4

Successivamente, installa pip e venv dai repository ufficiali:

  1. sudo apt install python3-pip python3-venv

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:

  1. git clone git://github.com/django/django ~/django-dev

Cambia in questa directory:

  1. cd ~/django-dev

Crea un ambiente virtuale utilizzando il comando python compatibile con la versione di Python installata:

  1. python3 -m venv my_env

Attivalo:

  1. source my_env/bin/activate

Successivamente, è possibile installare il repository utilizzando pip. L’opzione -e installerà in modalità “modificabile”, che è necessaria quando si installa da un controllo di versione:

  1. pip install -e ~/django-dev

È possibile verificare che l’installazione sia stata eseguita con successo digitando:

  1. django-admin --version
Output
4.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:

  1. mkdir ~/django-test
  2. cd ~/django-test

Successivamente, crea il tuo ambiente virtuale:

  1. python3 -m venv my_env

Attiva l’ambiente:

  1. source my_env/bin/activate

Installa Django:

  1. pip install 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):

  1. django-admin startproject djangoproject .

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:

  1. python manage.py migrate

Vedrai un output simile al seguente:

Output
Operations 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:

  1. python manage.py 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:

  1. nano ~/django-test/djangoproject/settings.py

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:

~/django-test/djangoproject/settings.py
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]

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:

  1. sudo ufw allow 8000

Avvia il server di sviluppo:

  1. python manage.py runserver your_server_ip:8000

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.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-22-04