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

instagram viewer
. 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.