PostgreSQL ist eine der besten Optionen für eine sichere Speicherumgebung. Erfahren Sie, wie Sie es in Django integrieren.
Das Hinzufügen einer Datenbank zu Ihrer Anwendung gewährleistet Datenintegrität und -sicherheit. PostgreSQL (Postgres) ist ein SQL-Datenbankverwaltungssystem (Structured Query Language), das Sie vielleicht in Betracht ziehen sollten.
Postgres unterstützt die meisten gängigen Betriebssysteme und ist mit modernen Programmiersprachen kompatibel. Postgres verarbeitet auch verschiedene Daten- und Dokumenttypen. Da SQL-Kenntnisse sehr gefragt sind, ist das Erlernen der Konfiguration und Verwendung von PostgreSQL von Vorteil.
Sie erfahren, wie Sie Postgres in einer Django-Anwendung installieren, konfigurieren und verwenden. Außerdem testen Sie die Funktionalität der Datenbank, indem Sie Daten zur Datenbank hinzufügen, speichern und abrufen.
1. Installieren Sie PostgreSQL auf Ihrem System
Die folgende Anleitung erklärt es So installieren Sie Postgres auf dem Ubuntu-Betriebssystem
. Wenn Sie ein Windows-Benutzer sind, können Sie diesem folgen Schritt-für-Schritt-Anleitung zur Installation von Postgres unter Windows.Aktualisieren Sie vor der Installation von Postgres die Versionspakete und ihre Abhängigkeiten mit dem folgenden Befehl:
$ sudo apt-get update
Als nächstes installieren Sie PostgreSQL mit dem folgenden Befehl:
$ sudo apt-get install postgresql postgresql-contrib libpq-dev
Wenn Sie aufgefordert werden, die Installation zu bestätigen, drücken Sie Y für Ja.
Stellen Sie mit dem folgenden Befehl eine Verbindung zum Server her:
$ sudo -i -u postgres
Verwenden Sie dann den Datenbank-Client, um die installierte Postgres-Version zu ermitteln.
Führen Sie den Befehl aus psql --version.
postgres@nameofaccount:~$ psql --version
Die Ausgabe zeigt Ihre Postgres-Version wie unten gezeigt:
psql (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)
Beenden Sie das Postgres-Konto, indem Sie Folgendes ausführen Ausfahrt Befehl.
postgres@nameofaccount:~$ exit
2. Erstellen Sie eine Datenbank
Sie müssen eine Datenbank erstellen, die Sie mit einer Django-App verbinden. Navigieren Sie zurück zur Postgres-Shell und führen Sie die folgenden Befehle nacheinander aus.
sudo -i -u postgres
$ psql
Anschließend erstellen Sie mit dem Client eine Datenbank auf dem Server.
postgres=# create database new_db;
Der Server gibt den Begriff CREATE DATABASE zurück, wenn er eine Datenbank erstellt. Sie können auch vorbeischauen Auflistung aller Datenbanken im System mit dem Befehl \l.
postgres=# \l
Struktur von PostgreSQL
Wie eine typische SQL-Datenbank speichert PostgreSQL Daten in Tabellen. Die Tabellen stellen verschiedene Elemente/Modelle in einer Anwendung dar. Die Tabellen haben eine feste Anzahl von Spalten und Zeilen.
Jede Tabelle verfügt über eine bestimmte Spalte, die als Primärschlüssel bezeichnet wird und eine eindeutige Kennung für jede in der Tabelle gespeicherte Zeile darstellt. Eine Tabelle kann auch über einen Fremdschlüssel verfügen, der sie mit dem Primärschlüssel einer anderen Tabelle verbindet.
Die Fremdschlüssel definieren die Beziehungen zwischen zwei Tabellen.
Als nächstes müssen Sie eine Django-App erstellen und die Datenbank verknüpfen. Aber zuerst installieren psycopg2 um die Verbindung zwischen App und Datenbank zu erleichtern.
3. Installieren Sie Django und die Psycopg2-Bibliothek
Um Postgres mit einer Django-App zu verbinden, müssen Sie die installieren psycopg2 Bibliothek. Dies ist eine Postgres-Abhängigkeit, die bei der Verbindung und Kommunikation mit Django hilft.
Führen Sie zur Installation den folgenden Befehl aus psycopg2 Und Django:
$ pipenv install psycopg2 Django
4. Erstellen Sie eine Django-App
Sie müssen eine Django-App erstellen, die die Postgres-Datenbank verwendet. Erstellen Sie zunächst ein Projekt mit dem Namen Myboma um die App zu unterstützen. Django-Projekte generieren automatisch Abhängigkeiten und Anwendungseinstellungen, die zum Ausführen der App erforderlich sind.
Erstellen Sie einen Ordner mit dem Namen Boma-Uhr und navigieren Sie mit den folgenden Befehlen dorthin:
$ mkdir Boma-watch
$cd Boma-watch
Erstellen Sie dann ein Django-Projekt mit dem folgenden Befehl:
$ django-admin startproject myboma .
Stellen Sie sicher, dass Sie am Ende des Befehls den Punkt hinzufügen, da Django sonst einen neuen Ordner für das Projekt erstellt.
Als nächstes erstellen Sie eine neue App mit dem Namen Boma mit folgendem Befehl:
$ django startapp boma
Wenn Sie noch nie mit Django gearbeitet haben, können Sie dies tun Beginnen Sie mit einem Anfängerleitfaden für Django. Nachdem Sie die App im Browser ausgeführt haben, um zu bestätigen, dass sie funktioniert, verbinden Sie sie im nächsten Abschnitt mit der Datenbank.
5. Datenbank mit der Django-App verbinden
Sie verbinden nun Ihre Django-App mit der von Ihnen erstellten Datenbank, indem Sie die folgenden Schritte ausführen:
Schritt 1: Ändern Sie die Projekteinstellungen, um Postgres zu verwenden
Sie müssen die Projekteinstellungen ändern, um die Django-App mit Postgres zu verbinden. Navigieren Sie zum Projekt Settings.py Datei. Dann ändern Sie die DATENBANKEN Einstellungen, um Ihre Postgres-Konfigurationen hinzuzufügen.
Ersetze das BENUTZER Und PASSWORT mit Ihrem psql Benutzername und Passwort.
#...
DATABASES = {
'default': {
'ENGINE':'django.db.backends.postgresql',
'NAME':'new_db',
'USER':'morine',
'PASSWORD':'password',
}
}
Schritt 2: Aktualisieren Sie die Zeitzone
Als nächstes im Settings.py Datei, legen Sie die fest Zeitzone um Ihren Standort widerzuspiegeln. Django-Projekte sind mit der UTC-Zeitzone vorkonfiguriert.
TIME_ZONE = Africa/Nairobi
Schritt 3: Erstellen Sie ein Modell
Ein... kreieren Profil Modell in Ihrer App. Mit dieser Modellklasse erstellen Sie Tabellen in der Datenbank, in denen der Name und die Biodaten der App gespeichert werden.
classProfile(models.Model):
name = models.CharField(max_length=30)
bio = models.TextField(max_length=100)def__str__(self):
return self.name
Schritt 4: Migration starten
Führen Sie die folgenden Befehle aus, um die Migration zu starten:
(virtual)$ python manage.py makemigrations boma
(virtual)$ python manage.py migrate
Eine erfolgreiche Migration sieht folgendermaßen aus:
Python manage.py migrieren Der Befehl wählt die App aus dem aus INSTALLED_APPS Einstellungen > models.py-Dateien und erstellt Tabellen für jedes Modell. Sie haben Postgres erfolgreich mit Ihrer Anwendung verbunden.
Jetzt können Sie die Befehle CREATE, READ, UPDATE und DELETE (CRUD) in Ihrer Anwendung testen.
6. Testen Sie CRUD-Befehle in Ihrer App
Mit der Python-API von Django können Sie einige CRUD-Datenbankoperationen ausführen. Die API verbindet die Funktionen mit den Modellen, um Ihnen die Manipulation der Datenbank zu ermöglichen.
Öffnen Sie die Python-Shell im Django-Projekt mit dem folgenden Befehl:
(virtual)$ python manage.py shell
Der Befehl öffnet eine Konsole, in der Sie die CRUD-Vorgänge testen können.
Vorgang erstellen
Importieren Sie zunächst die Profil Modell aus der Modelle Modul mit dem folgenden Befehl:
from boma.models import Profile
Erstellen Sie dann eine Instanz von Profil Klasse und geben Sie Ihre Daten ein.
prof1 = Profile.objects.create(name ='Ken',bio ='I am a Scorpio')
Speichern Sie anschließend die Daten in der Datenbank.
prof1.save()
Lesen Sie den Vorgang
Nachdem Sie Daten in der Datenbank erstellt und gespeichert haben, können Sie sie abfragen, um die gespeicherten Daten abzurufen.
Benutzen Sie die Profile.objects.all() um alle Daten im abzurufen Profil Tabelle in der Datenbank.
Profile.objects.all() #outputs
Sie können ein einzelnes Objekt auch mit a abrufen Primärschlüssel oder pk. Dabei handelt es sich um Nummern, die jedem in der Datenbank gespeicherten Artikel zugewiesen sind.
Profile.objects.get(pk = 1) #outputs
Update-Vorgang
Sie können die gespeicherten Daten mit dem folgenden Befehl aktualisieren:
Profile.objects.filter(id = 1).update(name ='Kim';) #outputs 1
Um zu überprüfen, ob der Name aktualisiert wurde, führen Sie den folgenden Befehl aus:
Profile.objects.filter(id = 1) #outputs
Vorgang löschen
Sie können gespeicherte Elemente mit dem folgenden Befehl löschen:
Profile.objects.filter(id = 1).delete() #outputs (1, {app.Profile: 1})
Um den Löschvorgang zu bestätigen, führen Sie den folgenden Befehl aus:
Profile.objects.filter(id = 1) #outputs
Sie können sehen, dass der Abfragesatz leer ist, was darauf hinweist, dass sich die Daten nicht mehr in der Datenbank befinden.
Warum PostgreSQL verwenden?
Postgres ist eine der fortschrittlichsten SQL-Datenbanken. Seine Open-Source-Builds sorgen für ständige Leistungsverbesserungen.
Die Verwaltung von Arbeitslasten ist einfacher und die Datenbanksortierung wird mit jeder Version besser. Einer der Gründe, warum Postgres so beliebt ist, liegt darin, dass es mit den meisten modernen Programmiersprachen und Betriebssystemen kompatibel ist.