Tutorial > Come installare il framework Django su CentOS 8

Come installare il framework Django su CentOS 8

Pubblicato il: 20 gennaio 2021

CentOS Python Sviluppo

Introduzione

Django è un potente framework per sviluppare applicazioni web in Python. Usare un framework così ricco di funzionalità ti permetterà di costruire e far funzionare le tue applicazioni in maniera più veloce, garantendo una buona organizzazione e strutturazione del codice.

Il framework ti consentirà di concentrarti solo sugli aspetti unici della tua applicazione, lasciando agli strumenti di Django le parti di sviluppo più complesse.

In questa guida, ti illustreremo vari metodi per installare Django su un server Linux CentOS 8. Dopo l’installazione, ti mostreremo inoltre come creare un nuovo progetto da usare come base per un sito web.

Per prima cosa dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.

Installazione della libreria EPEL

Tutti i metodi di installazione che ti illustreremo di seguito si basano sulla libreria EPEL per le distribuzioni CentOS e RedHat. La repository di EPEL contiene pacchetti extra aggiungibili alla distribuzione principale, che risulta essere piuttosto minimale.

Per configurare il tuo server all’utilizzo della libreria EPEL, ti basterà inserire il comando:

$ sudo yum install epel-release

Ora avrai la possibilità di utilizzare le applicazioni collegate alla release di EPEL.

Diverse modalità di installazione di Django

Esistono diversi metodi di installazione per Django, a seconda delle diverse necessità e di come vorresti configurare il tuo ambiente di sviluppo. Scegliere il modo più adatto con cui installare Django potrà facilitare le operazioni in situazioni specifiche di tuo interesse.

Di seguito vengono elencati alcuni dei principali metodi di installazione di Django:

  • Installazione globale dai pacchetti: la repository di EPEL contiene dei pacchetti di Django che possono essere installati con il convenzionale manager di pacchetti yum. É l’installazione più semplice ma meno flessibile, oltre a poter causare qualche lag con la versione ufficiale del progetto.
  • Installazione globale tramite pip: il tool pip è un gestore di pacchetti per Python. Installandolo, potrai facilmente installare Django e renderlo a disposizione per l’utilizzo da parte di tutti gli utenti del sistema. La versione che verrà installata sarà, probabilmente, l’ultima accertata come stabile. Anche in questo modo, le installazioni globali risultano essere comunque meno flessibili rispetto ad altre.
  • Installazione con pip nel Virtualenv (ambiente virtuale): Il pacchetto di Phyton virtualenv ti permette di creare degli ambienti autocontenuti per vari progetti. Usando questa tecnologia, puoi installare Django in una directory di un progetto senza intaccare il sistema più grande. Questo ti permetterà di personalizzare indipendentemente ogni progetto e i suoi pacchetti. Gli ambienti virtuali richiedono alcuni sforzi in più rispetto alla semplice installazione globale, ma forniscono maggiore flessibilità.
  • Installazione della versione in sviluppo tramite git: se vuoi installare la versione in sviluppo più recente, invece di quella più stabile, dovrai acquisire il codice sorgente dalla repository git. Questo è necessario per ottenere le funzionalità più aggiornate e i fix più recenti, e può essere fatto sia globalmente che localmente. Tuttavia, c’è da specificare che le versioni in sviluppo non garantiscono la stessa stabilità delle versioni "stable".

A questo punto non ti resta che scegliere il tipo di installazione che risponde meglio alle tue esigenze. Nei successivi paragrafi ti verranno spiegati nel dettaglio tutti i metodi presentati.

Installazione globale dai pacchetti

Se vuoi installare Django tramite la repository EPEL, la procedura risulta molto semplice. Usa il gestore di pacchetti yum per scaricare e installare i pacchetti di tuoi interesse, tramite il comando:

$ sudo yum install python3-django

Puoi verificare che l’installazione sia andata a buon fine, chiedendo al sistema la versione di Django attualmente presente nel sistema, tramite il comando:

django-admin --version

1.6.10

Se otterrai come output un numero di versione, vorrà dire che l’installazione è stata completata con successo. Potrai inoltre controllare se la versione installata sia la più recente o meno.

Installazione globale tramite pip

Se vuoi installare l’ultima versione di Django globalmente, l'opzione migliore è usare pip, il gestore pacchetti di Python.

Inizia installando pip tramite la repository EPEL:

$ sudo yum install python3-pip

Dopo l’installazione di pip, passa a quella di Django:

$ sudo pip3 install django

Puoi verificare che l’installazione sia avvenuta con successo tramite il comando:

django-admin --version
1.7.5

Il numero che otterrai come output indicherà la release installata.

Come puoi notare, la versione disponibile tramite pip sarà più aggiornata rispetto quella installata tramite la repository di EPEL.

Installazione tramite pip in un Virtualenv (ambiente virtuale)

Probabilmente, il metodo più flessibile per installare Django sul tuo sistema è utilizzare il tool virtualenv. Questo strumento ti permetterà di creare ambienti Python virtuali dove potrai installare qualunque pacchetto tu voglia senza condizionare il resto del sistema.

Questa elasticità ti permetterà di scegliere, per ogni progetto, i pacchetti di Python da installare, con il vantaggio di poter personalizzare senza conflitti le diverse installazioni.

Parti quindi con l'installazione di pip dalla repository EPEL:

$ sudo yum install python3-pip

Una volta installato, potrai usare il nuovo gestore di pacchetti per installare virtualenv:

$ sudo pip3 install virtualenv

Da adesso, ogni volta che vorrai creare un progetto nuovo, sarà necessario definire una macchina o ambiente virtuale. Inizia creando e muovendoti nella directory di un nuovo progetto:

$ mkdir ~/nuovoprogetto
$ cd ~/nuovoprogetto

Ora, crea un nuovo ambiente virtuale all’interno della nuova directory definita:

$ virtualenv nuovoambiente

Questa creazione installerà un nuova versione a sé stante di Python, così come di pip, all’interno di una directory isolata dalla directory del tuo progetto.

N.B. I nomi nuovoprogetto e nuovoambiente sono stati inseriti a scopo esemplificativo, lasciando a te la possibilità di utilizzare nomi differenti. Tramite i nomi scelti, potrai identificare una specifica directory con la sua gerarchia.

Per procedere con l’installazione dei pacchetti all’interno dell’ambiente isolato, dovrai prima attivarlo tramite il comando:

$ source nuovoambiente/bin/activate

Ora il tuo prompt dei comandi dovrebbe cambiare, mostrandoti che ti trovi all’interno dell’ambiente virtuale selezionato. La console dovrebbe apparire in un modo simile:

(nuovoambiente)username@hostname:~/nuovoprogetto$

Nel tuo nuovo ambiente, potrai quindi installare il framework Django tramite pip. Non ci sarà bisogno inoltre di utilizzare il comando sudo, in quanto starai applicando le modifiche in locale e non all’interno sistema.

$ pip3 install django

Puoi verificare che l’installazione sia avvenuta correttamente tramite il comando:

$ django-admin --version
1.7.5

L’ output numerico visualizzato indicherà la versione di Django installata.

Per uscire dall’ambiente virtuale, sarà necessario inviare il comando deactivate tramite il prompt.

$ deactivate

Il prompt dovrebbe tornare a visualizzare le informazioni normali, senza specificare l’indicazione sull’ambiente virtuale. Se volessi ritornare nell’ambiente virtuale, dovresti riattivarlo accedendo prima alla directory del progetto.

Per far ciò, basterà inserire in sequenza i comandi:

cd ~/nuovoprogetto
source nuovoambiente/bin/activate

Installazione della versione in sviluppo tramite git

Se necessiti di una versione in sviluppo di Django, dovrai scaricarlo e installarlo dalla sua repository git.

Per farlo, il primo passo consiste nell'installare git sul tuo sistema tramite yum. Installerai anche pip, il gestore pacchetti di Python, tramite cui gestirai l’installazione di Django dopo il download.

Per cominciare, inserisci il comando:

$ sudo yum install git python3-pip

Una volta ottenuto git, puoi clonare la repository di Django. Tra le diverse release, questa repository avrà le funzionalità più aggiornate, pur a scapito della stabilità, essendo una versione di sviluppo.

Puoi clonare la repository in una directory chiamata django-dev, collocabile nella tua home directory. Utilizza il comando:

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

Ora che la repository è stata clonata, puoi installare Django usando pip. Usa l’opzione -e per installarlo in modalità personalizzata:

$ sudo pip3 install -e ~/django-dev

Puoi verificare che l’installazione sia avvenuta con successo tramite il comando:

$ django-admin --version
1.9.dev20150305200340

Anche in questo caso, la stringa generata come output del comando indicherà la versione di Django attualmente installata.

N.B. Combinando questo metodo con quello di virtualenv, potrai installare la versione in sviluppo di Django su un singolo ambiente virtuale.

Come creare un progetto con Django

A questo punto della guida, dovresti aver installato Django e potrai quindi iniziare a creare il tuo primo progetto.

Puoi usare il comando django-admin per creare un nuovo progetto:

$ django-admin startproject ilmioprogetto
cd ilmioprogetto

Questa coppia di comandi creerà una directory col nome selezionato all’interno della directory principale. Successivamente, verrà creato anche uno script di gestione e un’altra directory con lo stesso nome.


Nota: se ti trovavi già all’interno della directory di un progetto, creata tramite il comando virtualenv, puoi dire a Django di inserire lo script e la directory interna all’interno di quella già creata, senza il livello extra, inserendo il comando:

$ django-admin startproject projectname . 

Non omettere il punto finale!


Per eseguire il bootstrap del database (di default in SQLite) sulle versioni più recenti di Django, puoi scrivere:

$ python manage.py migrate

Se il comando migrate non dovesse funzionare, vorrà dire che starai usando una versione più vecchia di Django. Il comando alternativo sarà:

$ python manage.py syncdb

Per completare il processo, in questo caso ti verrà richiesto di registrare un utente amministratore, inserendo diverse informazioni nel prompt. La richiesta sarà di username, password ed email.

Qualora avessi usato il comando migrate, dovrai invece creare l’utente amministratore manualmente. Per farlo, inserisci:

$ python manage.py createsuperuser

Come nell’altro caso, ti verranno richieste alcune informazioni per registrare l’utente. Queste saranno: username, password ed email.

Finito di creare l’utente, puoi avviare il server di sviluppo Django per vedere come appare un nuovo progetto Django. Esegui:

$ python manage.py runserver 0.0.0.0:8000

Visita ora l’indirizzo IP del tuo server, seguito dalla stringa :8000 nel tuo browser web:

indirizzo_ip_server:8000 

Per accedere alla sezione di amministrazione, basterà concatenare alla fine dell’URL la stringa /admin. Eccoti un esempio di come dovrebbe apparire:

indirizzo_ip_server:8000/admin

Nella pagina di accesso, basterà inserire le credenziali specificate in precedenza per accedere alla sezione di amministrazione del sito.

Al termine dell'utilizzo del sito, basterà premere nel terminale, la combinazione CTRL+C per arrestare il server di sviluppo.

Conclusioni

Grazie a questa guida hai imparato a installare con successo il framework Django sul tuo server CentOS 8. Sei stato anche in grado di creare un nuovo progetto e lanciare il server per sviluppatori. 

Il progetto Django che avrai creato costituirà la base strutturale per progettare un sito web più complesso. Puoi controllare la documentazione di Django per approfondimenti su come costruire applicazioni e personalizzare il tuo sito.

Fare affidamento sul framework web Django ti permetterà di concentrarti sugli aspetti unici della tua applicazione, velocizzando gli altri aspetti dello sviluppo.