Benvenuto a Giorno 2 di 12 Giorni di DigitalOcean! Ieri, abbiamo iniziato a costruire il nostro Servizio di Promemoria per Compleanni—una semplice app che invia notifiche SMS per i compleanni imminenti. 🎉 Abbiamo impostato un database PostgreSQL su DigitalOcean per memorizzare i dettagli dei contatti.
Oggi, ci connetteremo a quel database usando Python e configureremo il nostro progetto per mantenere al sicuro le credenziali sensibili.
Entro la fine di questo post, avrai uno script Python che recupera in modo sicuro i dati dal tuo database ed è pronto a scalare quando lo ospiteremo su DigitalOcean.
✨ Perché Questo Passaggio?
Impostare il database è stato solo l’inizio. Per costruire qualsiasi app significativa, abbiamo bisogno di un modo per interagire con quei dati in modo programmatico. Python rende facile connettersi ai database PostgreSQL e, con l’aiuto di una libreria come pg8000, possiamo lavorare con i database PostgreSQL in poche righe di codice.
Per mantenere le cose sicure, memorizzeremo le nostre credenziali del database in un file .env
e le caricheremo nel nostro script utilizzando python-dotenv. Questo assicura che le tue credenziali non siano codificate nello script, rendendo più sicuro condividere e distribuire la tua app.
🚀 Cosa Imparerai
Ecco il piano per oggi:
- Memorizza credenziali sensibili in un file
.env
. - Usa
python-dotenv
per caricare quelle credenziali nel tuo script. - Scrivi uno script Python per connetterti in modo sicuro al tuo database PostgreSQL utilizzando
pg8000
- Recupera e visualizza i dati dalla tabella
contacts
Alla fine di questo, avrai una solida base per costruire la logica dell’app.
🛠 Cosa Ti Serve
Prima di tuffarci, ecco cosa ti servirà:
- Il database che abbiamo impostato il Giorno 1. TODO: Link al URL del giorno 1
- Python installato sulla tua macchina locale (consigliamo Python 3.8+).
🧑🍳 Ricetta per il Giorno 2: Collegarsi a PostgreSQL con Python
Passo 1: Installa le Librerie Necessarie 📦
Per collegare Python a PostgreSQL e mantenere sicure le nostre credenziali, utilizzeremo due librerie chiave:
- pg8000: Una libreria Python pura che ti consente di collegarti e interagire con i database PostgreSQL.
- python-dotenv: Un’utilità per caricare credenziali sensibili (come nomi utente e password del database) da un file
.env
, così non devi codificarli nel tuo script.
Installiamole ora. Esegui questo comando nel tuo terminale:
Consiglio da Professionista: Se stai usando un ambiente virtuale (sempre una buona idea!), assicurati di attivarlo prima di eseguire il comando sopra per mantenere le tue dipendenze organizzate.
Passo 2: Crea un file .env 📂
Nella directory del tuo progetto, crea un file chiamato .env. Qui è dove memorizzeremo le nostre credenziali del database. Aggiungi quanto segue:
Sostituisci i valori segnaposto con le credenziali di Giorno 1.
Consiglio da professionista: Aggiungi .env
al tuo file .gitignore
per assicurarti che le tue credenziali non vengano accidentalmente inviate al controllo di versione.
Passo 3: Crea uno script Python 🐍
Crea un nuovo file chiamato connect_to_db.py
, e imposta lo script per caricare le credenziali da .env
utilizzando python-dotenv
e collegati al nostro database.
Ecco il codice per iniziare:
Questo script fa alcune cose importanti:
- Carica le credenziali in modo sicuro dal tuo file
.env
. - Stabilisce una connessione al tuo database utilizzando
pg8000.connect()
. - Stampa un messaggio di successo o errore a seconda dell’esito.
Passo 4: Testa la Connessione ✅
Ora, assicuriamoci che tutto funzioni. Esegui il tuo script:
Se tutto è impostato correttamente, dovresti vedere:
Se c’è un errore:
- Controlla di nuovo i valori nel tuo file .env.
- Assicurati che il tuo indirizzo IP sia aggiunto alle fonti fidate del database (vedi Passo 6 del Giorno 1).
Passo 5: Recupera Dati dal Database 🔍
Ora, estendiamo lo script per recuperare dati. Aggiorna il tuo script connect_to_db.py
per includere quanto segue:
Questo script ora:
- Esegue una query per recuperare tutti i record dalla tabella contatti.
- Stampa ogni record sulla console.
Nota: Se la tabella è vuota, nessun problema! Puoi comunque verificare che lo script venga eseguito senza errori. Per testare, puoi aggiungere rapidamente un contatto di esempio aprendo il tuo database usando psql
(o il tuo strumento preferito) e eseguendo questo comando SQL:
Se hai bisogno di un ripasso su come usare psql o vuoi esplorare strumenti UI come pgAdmin o TablePlus, dai un’occhiata alle istruzioni in Giorno 1.
🎁 Conclusione
Ecco cosa hai realizzato oggi:
✅ Installate le librerie Python necessarie.
✅ Collegato al tuo database PostgreSQL di DigitalOcean utilizzando Python.
✅ Recuperati i dati dalla tabella contacts
con una semplice query.
Prossimo passo: Domani inizieremo ad aggiungere la logica per trovare i compleanni in arrivo e inviare notifiche SMS utilizzando Twilio. Qui è dove l’app inizia a prendere vita—resta sintonizzato! 🚀
Source:
https://www.digitalocean.com/community/tutorials/connecting-to-postgresql-database-with-python