Torna al blog

Creazione di un'app Django con connessione al database: un tutorial

Creazione di un'app Django con connessione al database: un tutorial

Django è un framework web gratuito e open-source scritto in Python. Pubblicato per la prima volta nel 2005, Django incorpora il motto di “sviluppo rapido e design pulito e pragmatico”. Il framework, distribuito su un server web, può produrre rapidamente un front-end web con funzionalità ricche, sicurezza e scalabilità.

Qualsiasi app web si affida ai database per i suoi contenuti. Django, essendo un framework moderno, supporta diversi programmi di database standard, ad esempio, PostgreSQL, SQLite, MySQL, ecc. Questa guida mostrerà come connettere un'app Django a un database su MySQL.

Prerequisiti

Per seguire questo tutorial è necessario soddisfare alcune precondizioni prima di passare a Django e alla connessione al database:

Installazione e configurazione di Python 3

Django è scritto in Python. L'esecuzione di qualsiasi app Python richiede l'installazione dei binari Python nel sistema. Ubuntu viene fornito con Python installato di default. Qui useremo Python 3. Dal terminale, esegui i seguenti comandi. Innanzitutto, aggiorna la cache APT e aggiorna (se disponibile) tutti i pacchetti installati:

Python 3 è direttamente disponibile dai server dei pacchetti ufficiali di Ubuntu. Il pacchetto python-is-python3  crea un python soft link binario a python3 per facilità d'uso:

Successivamente, verifica se l'installazione è andata a buon fine:

Dopodiché, abbiamo bisogno di pip. È il gestore di pacchetti Python standard. È responsabile della gestione di librerie Python aggiuntive che non fanno parte della libreria standard. Nota che stiamo installando pip3 (per Python 3):

Infine, abbiamo bisogno di alcuni pacchetti aggiuntivi per un ambiente di programmazione robusto:

Installazione e configurazione di MySQL

Questa sezione mostrerà brevemente come installare e configurare MySQL. È disponibile nei repository dei pacchetti predefiniti di Ubuntu:

Se l'installazione è andata a buon fine, MySQL inizierà a funzionare in background. Verifica se funziona correttamente:

Django App 1

Il server MySQL è attivo e funzionante. Ora possiamo passare in sicurezza allo sviluppo della nostra app Django.

Lavorare con Django

  • Creazione dell'app Django di esempio

La base della nostra app web richiede lo scheletro del progetto Django. Contiene tutti gli strumenti e le librerie necessari per creare un'app web robusta. Innanzitutto, creeremo una directory dedicata per la nostra app Django. Si consiglia di dare alla directory un nome significativo e coerente con l'app che stiamo per creare. In questa dimostrazione, la chiameremo myDemoApp:

Abbiamo bisogno del modulo Python venv per creare un ambiente virtuale all'interno della directory. Installa il modulo usando APT:

Quindi, naviga nella directory e crea un ambiente virtuale. Per chiarezza, abbiamo chiamato l'ambiente demoapp_env:

Successivamente, attiva l'ambiente virtuale eseguendo lo script activate:

Django App 2

Ora installeremo Django all'interno di questo ambiente virtuale dedicato. Pip scaricherà e installerà alcuni componenti aggiuntivi:

Django è installato e pronto per essere utilizzato. Chiama il comando django-admin per creare un nuovo progetto Django. Successivamente, assegna all'app un nome appropriato:

Creerà un progetto demo con i file e le directory di progetto necessari al loro posto:

Django App 3

Lo scheletro del progetto è pronto. Successivamente, dobbiamo configurarlo correttamente per raggiungere il nostro obiettivo.

  • Modifica delle impostazioni del progetto Django

Tutte le configurazioni del progetto sono memorizzate nel file settings.py. Si trova all'interno della directory del progetto Django. Inizieremo impostando un fuso orario appropriato e listeremo gli host che possono connettersi all'app Django. Apri il file di configurazione in un editor di testo:

Scorri verso il basso lo script e trova la voce TIME_ZONE. A scopo dimostrativo, il fuso orario è impostato su America/New_York:

TIME_ZONE

Come riferimento, il seguente comando stamperà tutti i fusi orari supportati in Linux:

Successivamente, scorri fino alla voce ALLOWED_HOSTS. Controlla quali macchine possono accedere all'app. A scopo dimostrativo, contiene solo localhost:

Django App 4Quindi, salva il file e chiudi l'editor. Il comando successivo applicherà le modifiche:

python manageOra dobbiamo creare un account amministratore per l'app web. Questo account verrà utilizzato per accedere all'interfaccia di amministrazione di Django. Esegui il seguente comando:

Django App 5Ti verranno chiesti nome utente, email e password. L'app è ora pronta per connettersi al database.

Connessione MySQL

  • Installazione dei connettori MySQL e delle librerie di sviluppo

Per integrare MySQL nell'app Django, abbiamo bisogno di alcune librerie Python 3 aggiuntive che forniranno gli strumenti necessari. Utilizzeremo il connettore del database mysqlclient. È un fork di MySQLdb.

Assicurati di avere python3-dev installato:

Abbiamo anche bisogno di alcune intestazioni e librerie Python e MySQL aggiuntive:

Al termine dell'installazione, usa pip per installare il modulo Python mysqlclient. Potrebbe generare alcuni messaggi di errore che possono essere ignorati:

  • Configurazione di un database dedicato

Il passo successivo consiste nel configurare un database dedicato e un utente database per la nostra app Django. Avvia la shell MySQL come utente root :

Per verificare tutti i database attualmente disponibili, esegui la seguente query:

Creiamo un database dedicato per la nostra app Django. Dagli un nome appropriato che sia coerente con il nome del progetto:

Quindi, verifica la creazione:

Django App 6Ora, crea un utente MySQL dedicato. Configureremo questo utente come proprietario del database. L'app Django utilizzerà le credenziali di questo utente per lavorare con il database MySQL:

Assegna all'utente demoapp_user i permessi completi sul database demoapp_data:

Affinché le modifiche ai permessi abbiano effetto, ricarica le tabelle dei permessi di MySQL:

Django App 7Il database è ora pronto per essere connesso all'app Django.

  • Connessione del database all'app Django

Infine, configureremo l'app Django per utilizzare il database per l'archiviazione dei dati. Apri lo script di configurazione settings.py:

Scorri verso il basso fino alla voce DATABASES e inserisci il seguente codice:

Django App 8Salva il file e chiudi l'editor. Il passo successivo consiste nell'impostare il file di configurazione descritto nel codice precedente. Usa sudo per aprire il file di testo nella posizione descritta:

Questo file di configurazione conterrà le informazioni sul database dedicato a Django e sull'utente che abbiamo creato nel server MySQL. Aggiungi le seguenti righe alla fine del file:

default-character-setAffinché le modifiche abbiano effetto, dobbiamo riavviare il server MySQL:

  • Testare la connessione MySQL

È giunto il momento di verificare se la connessione MySQL funziona correttamente. Se il server Django si avvia senza problemi, allora la connessione funziona correttamente. In caso contrario, c'è qualcosa che non va. Per prima cosa, applica tutte le modifiche apportate al progetto Django:

python manageOra, spostati nella seguente directory del progetto e avvia il server Django:

python manage.py runserverSuccessivamente, prova ad accedere al server da un browser web:

server_ip_address

Ecco fatto! Siamo atterrati con successo sulla pagina di successo di Django. Questo conferma anche che la connessione MySQL funziona correttamente. Al termine del lavoro, puoi uscire in sicurezza dall'ambiente virtuale:

Considerazioni finali

In questa guida hai appreso le basi per combinare Django e MySQL. Abbiamo creato un'app Django e mostrato come connetterla a un database MySQL. La magia risiede nel file di configurazione di Django settings.py. Abbiamo anche modificato alcune impostazioni di base come ALLOWED_HOSTS e TIME_ZONE. Django è incredibilmente flessibile. Oltre a MySQL, supporta anche altri server SQL come PostgreSQL, motori server come Nginx, ecc.

Puoi anche consultare le nostre guide sulle migliori pratiche per installare, configurare e lavorare con Django:

Buona programmazione!

author

Hark Labs

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.