Willkommen zu Tag 2 von 12 Tagen von DigitalOcean! Gestern haben wir unseren Geburtstags-Erinnerungsdienst aufgebaut – eine einfache App, die SMS-Benachrichtigungen für bevorstehende Geburtstage sendet. 🎉 Wir haben eine PostgreSQL-Datenbank auf DigitalOcean eingerichtet, um Kontaktdaten zu speichern.
Heute werden wir uns mit dieser Datenbank mit Python verbinden und unser Projekt so einrichten, dass sensible Anmeldeinformationen sicher bleiben.
Am Ende dieses Beitrags wirst du ein Python-Skript haben, das sicher Daten aus deiner Datenbank abruft und bereit ist, wenn wir es auf DigitalOcean hosten.
✨ Warum dieser Schritt?
Die Einrichtung der Datenbank war nur der Anfang. Um eine sinnvolle App zu erstellen, benötigen wir eine Möglichkeit, programmgesteuert mit diesen Daten zu interagieren. Python macht es einfach, sich mit PostgreSQL-Datenbanken zu verbinden, und mit der Hilfe einer Bibliothek wie pg8000 können wir mit PostgreSQL-Datenbanken in nur wenigen Zeilen Code arbeiten.
Um die Sicherheit zu gewährleisten, speichern wir unsere Datenbankanmeldeinformationen in einer .env
-Datei und laden sie mit python-dotenv in unser Skript. Dadurch wird sichergestellt, dass Ihre Anmeldeinformationen nicht hardcodiert im Skript sind, was es sicherer macht, Ihre App zu teilen und bereitzustellen.
🚀 Was Sie Lernen Werden
Hier ist der Plan für heute:
- Speichern Sie sensible Anmeldeinformationen in einer
.env
-Datei. - Verwenden Sie
python-dotenv
, um diese Anmeldeinformationen in Ihr Skript zu laden. - Schreiben Sie ein Python-Skript, um sicher mit Ihrer PostgreSQL-Datenbank über
pg8000
zu verbinden. - Daten aus der
contacts
-Tabelle abrufen und anzeigen.
Am Ende haben Sie eine solide Grundlage für den Aufbau der Logik der App.
🛠 Was Sie Brauchen Werden
Bevor wir eintauchen, hier ist, was Sie brauchen:
- Die Datenbank, die wir am Tag 1 eingerichtet haben. TODO: Link zur Tag 1-URL
- Python auf Ihrem lokalen Rechner installiert (wir empfehlen Python 3.8+).
🧑🍳 Rezept für Tag 2: Verbindung zu PostgreSQL mit Python herstellen
Schritt 1: Installieren Sie die erforderlichen Bibliotheken 📦
Um Python mit PostgreSQL zu verbinden und unsere Anmeldeinformationen sicher zu halten, verwenden wir zwei wichtige Bibliotheken:
- pg8000: Eine reine Python-Bibliothek, die es Ihnen ermöglicht, sich mit PostgreSQL-Datenbanken zu verbinden und mit ihnen zu interagieren.
- python-dotenv: Ein Dienstprogramm zum Laden sensibler Anmeldeinformationen (wie Datenbank-Benutzernamen und Passwörter) aus einer
.env
-Datei, sodass Sie diese nicht in Ihr Skript einfügen müssen.
Lassen Sie uns diese jetzt installieren. Führen Sie diesen Befehl in Ihrem Terminal aus:
Pro-Tipp: Wenn Sie eine virtuelle Umgebung verwenden (immer eine gute Idee!), stellen Sie sicher, dass Sie diese aktivieren, bevor Sie den obigen Befehl ausführen, um Ihre Abhängigkeiten organisiert zu halten.
Schritt 2: Erstelle eine .env-Datei 📂
In deinem Projektverzeichnis erstelle eine Datei mit dem Namen .env. Hier speichern wir unsere Datenbankanmeldeinformationen. Füge Folgendes hinzu:
Ersetze die Platzhalterwerte mit den Anmeldeinformationen von Tag 1.
Pro-Tipp: Füge .env
zu deiner .gitignore
-Datei hinzu, um sicherzustellen, dass deine Anmeldeinformationen nicht versehentlich in die Versionskontrolle hochgeladen werden.
Schritt 3: Erstelle ein Python-Skript 🐍
Erstelle eine neue Datei mit dem Namen connect_to_db.py
und richte das Skript so ein, dass es die Anmeldeinformationen aus .env
mit python-dotenv
lädt und sich mit unserer Datenbank verbindet.
Hier ist der Code, um zu beginnen:
Dieses Skript erledigt einige wichtige Dinge:
- Lädt die Anmeldeinformationen sicher aus deiner
.env
-Datei. - Stellt eine Verbindung zu Ihrer Datenbank mit
pg8000.connect()
her. - Gibt je nach Ergebnis eine Erfolgs- oder Fehlermeldung aus.
Schritt 4: Testen Sie die Verbindung ✅
Nun wollen wir sicherstellen, dass alles funktioniert. Führen Sie Ihr Skript aus:
Wenn alles korrekt eingerichtet ist, sollten Sie sehen:
Wenn ein Fehler auftritt:
- Überprüfen Sie die Werte in Ihrer .env-Datei erneut.
- Stellen Sie sicher, dass Ihre IP-Adresse zu den vertrauenswürdigen Quellen der Datenbank hinzugefügt wurde (siehe Schritt 6 vom Tag 1).
Schritt 5: Daten aus der Datenbank abrufen 🔍
Nun erweitern wir das Skript, um Daten abzurufen. Aktualisieren Sie Ihr connect_to_db.py
-Skript, um Folgendes einzuschließen:
Dieses Skript:
- führt eine Abfrage aus, um alle Datensätze aus der Kontakttabelle abzurufen.
- Gibt jeden Datensatz in der Konsole aus.
Hinweis: Wenn die Tabelle leer ist, keine Sorge! Du kannst trotzdem überprüfen, ob das Skript ohne Fehler ausgeführt wird. Zum Testen kannst du schnell einen Beispielkontakt hinzufügen, indem du deine Datenbank mit psql
(oder deinem bevorzugten Tool) öffnest und diesen SQL-Befehl ausführst:
Wenn du eine Auffrischung benötigst, wie man psql verwendet, oder UI-Tools wie pgAdmin oder TablePlus erkunden möchtest, schau dir die Anweisungen in Tag 1 an.
🎁 Zusammenfassung
Hier ist, was Sie heute erreicht haben:
✅ Die erforderlichen Python-Bibliotheken installiert.
✅ Mit Ihrer DigitalOcean PostgreSQL-Datenbank über Python verbunden.
✅ Daten aus der contacts
-Tabelle mit einer einfachen Abfrage abgerufen.
Als Nächstes: Morgen werden wir beginnen, Logik hinzuzufügen, um bevorstehende Geburtstage zu finden und SMS-Benachrichtigungen mit Twilio zu senden. Hier beginnt die App lebendig zu werden—bleiben Sie dran! 🚀
Source:
https://www.digitalocean.com/community/tutorials/connecting-to-postgresql-database-with-python