PostgreSQL er et af de bedste valg til et sikkert lagermiljø. Lær, hvordan du integrerer det med Django.

Tilføjelse af en database til din applikation sikrer dataintegritet og sikkerhed. PostgreSQL (Postgres) er et Structured Query Language (SQL) databasestyringssystem, som du måske vil overveje.

Postgres understøtter de fleste af de populære operativsystemer og er kompatibel med moderne programmeringssprog. Postgres håndterer også forskellige data- og dokumenttyper. Med høj efterspørgsel efter SQL-færdigheder er det en fordel at lære at konfigurere og bruge PostgreSQL.

Du lærer, hvordan du installerer, konfigurerer og bruger Postgres i en Django-applikation. Du vil også teste databasens funktionalitet ved at tilføje, gemme og hente data fra databasen.

1. Installer PostgreSQL på dit system

Følgende instruktioner forklarer hvordan man installerer Postgres på Ubuntu-operativsystemet. Hvis du er Windows-bruger, kan du følge dette trin-for-trin guide til at installere Postgres på Windows.

Før du installerer Postgres, skal du opdatere versionspakker og deres afhængigheder med følgende kommando:

instagram viewer

$ sudo apt-get update

Installer derefter PostgreSQL med følgende kommando:

$ sudo apt-get install postgresql postgresql-contrib libpq-dev

Når du bliver bedt om at bekræfte installationen, skal du trykke på Y til Ja.

Opret forbindelse til serveren ved hjælp af følgende kommando:

$ sudo -i -u postgres

Og brug derefter databaseklienten til at bestemme den installerede Postgres-version.

Kør kommandoen psql --version.

postgres@nameofaccount:~$ psql --version

Outputtet viser din Postgres-version som vist nedenfor:

psql (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)

Afslut Postgres-kontoen ved at køre Afslut kommando.

postgres@nameofaccount:~$ exit

2. Opret en database

Du skal oprette en database, som du vil forbinde til en Django-app. Naviger tilbage til Postgres-skallen og kør følgende kommandoer fortløbende.

sudo -i -u postgres
$ psql

Brug derefter klienten til at oprette en database på serveren.

postgres=# create database new_db;

Serveren returnerer udtrykket CREATE DATABASE, når den opretter en database. Du kan også tjekke pr liste over alle databaser i systemet med kommandoen \l.

postgres=# \l

Struktur af PostgreSQL

Som en typisk SQL-database gemmer PostgreSQL data i tabeller. Tabellerne repræsenterer forskellige varer/modeller i en applikation. Tabellerne har et fast antal kolonner og rækker.

Hver tabel har en bestemt kolonne kaldet en primær nøgle, en unik identifikator for hver række gemt i tabellen. En tabel kan også have en fremmednøgle, der forbinder den med en anden tabels primære nøgle.

Fremmednøglerne definerer relationerne mellem to tabeller.

Dernæst skal du oprette en Django-app og linke databasen. Men først, installer psychopg2 for at hjælpe med at forbinde appen og databasen.

3. Installer Django og Psychopg2 Library

For at forbinde Postgres til en Django-app skal du installere psychopg2 bibliotek. Dette er en Postgres-afhængighed, der hjælper med at forbinde og kommunikere med Django.

Kør følgende kommando for at installere psychopg2 og Django:

$ pipenv install psycopg2 Django

4. Opret en Django-app

Du skal oprette en Django-app, der bruger Postgres-databasen. Først skal du oprette et projekt kaldet myboma for at understøtte appen. Django projekterer automatisk genererede afhængigheder og applikationsindstillinger, der er nødvendige for at køre appen.

Opret en mappe kaldet Boma-ur og naviger til det med følgende kommandoer:

$ mkdir Boma-watch
$cd Boma-watch

Opret derefter et Django-projekt med følgende kommando:

$ django-admin startproject myboma .

Sørg for at tilføje punktum i slutningen af ​​kommandoen, ellers vil Django oprette en ny mappe til at huse projektet.

Opret derefter en ny app kaldet boma med følgende kommando:

$ django startapp boma

Hvis du ikke har arbejdet med Django før, kan du det kom i gang med en begynderguide til Django. Efter at have kørt appen på browseren for at bekræfte, at den virker, vil du forbinde den til databasen i næste afsnit.

5. Tilslut database til Django-appen

Du vil nu forbinde din Django-app til den database, du har oprettet ved at bruge følgende trin:

Trin 1: Skift projektindstillinger for at bruge Postgres

Du skal ændre projektindstillingerne for at forbinde Django-appen til Postgres. Naviger til projektet settings.py fil. Skift derefter DATABASER indstillinger for at tilføje dine Postgres-konfigurationer.

Udskift BRUGER og ADGANGSKODE med din psql brugernavn og adgangskode.

#...
DATABASES = {
'default': {
'ENGINE':'django.db.backends.postgresql',
'NAME':'new_db',
'USER':'morine',
'PASSWORD':'password',
}
}

Trin 2: Opdater tidszonen

Dernæst i settings.py fil, skal du indstille Tidszone for at afspejle din placering. Django-projekter er forudkonfigureret med UTC-tidszonen.

TIME_ZONE = Africa/Nairobi

Trin 3: Opret en model

Lave en Profil model i din app. Du skal bruge denne modelklasse til at oprette tabeller i databasen for at gemme appens navn og biodata.

classProfile(models.Model):
name = models.CharField(max_length=30)
bio = models.TextField(max_length=100)

def__str__(self):
return self.name

Trin 4: Start migrering

Kør følgende kommandoer for at starte migreringen:

(virtual)$ python manage.py makemigrations boma 
(virtual)$ python manage.py migrate

En vellykket migrering vil se sådan ud:

python manage.py migrere kommandoen vælger appen fra INSTALLERET_APPS indstillinger > models.py-filer og opretter tabeller for hver model. Du har med succes forbundet Postgres til din applikation.

Nu kan du teste kommandoerne CREATE, READ, UPDATE og DELETE (CRUD) på din applikation.

6. Test CRUD-kommandoer på din app

Django's Python API vil gøre dig i stand til at udføre nogle CRUD-databaseoperationer. API'et forbinder funktionerne med modellerne, så du kan manipulere databasen.

Åbn Python-skallen i Django-projektet ved hjælp af følgende kommando:

(virtual)$ python manage.py shell

Kommandoen åbner en konsol, hvor du kan teste CRUD-operationerne.

Opret operation

Først skal du importere Profil model fra modeller modul ved hjælp af følgende kommando:

 from boma.models import Profile

Opret derefter en forekomst af Profil klasse og videregive dine data.

 prof1 = Profile.objects.create(name ='Ken',bio ='I am a Scorpio')

Gem derefter dataene i databasen.

prof1.save()

Læs Operation

Efter at have oprettet data i databasen og gemt dem, kan du forespørge på det for at hente de gemte data.

Brug Profile.objects.all() for at hente alle data i Profil tabel i databasen.

Profile.objects.all() #outputs 

Du kan også hente et enkelt objekt ved hjælp af en primærnøgle eller pk. Disse er numre, der er tildelt hvert element, der er gemt i databasen.

Profile.objects.get(pk = 1) #outputs 

Opdateringsoperation

Du kan opdatere de gemte data ved at bruge følgende kommando:

Profile.objects.filter(id = 1).update(name ='Kim';) #outputs 1

For at kontrollere, om navnet er opdateret, skal du udføre følgende kommando:

Profile.objects.filter(id = 1) #outputs 

Slet handling

Du kan slette gemte elementer ved at bruge følgende kommando:

Profile.objects.filter(id = 1).delete() #outputs (1, {app.Profile: 1})

For at bekræfte sletningen skal du køre følgende kommando:

Profile.objects.filter(id = 1) #outputs 

Du kan se, at forespørgselssættet er tomt, hvilket indikerer, at dataene ikke længere er i databasen.

Hvorfor bruge PostgreSQL?

Postgres er en af ​​de mest avancerede SQL-databaser. Dens open source builds sikrer konstante præstationsforbedringer.

Det er nemmere at administrere arbejdsbelastninger, og databasesortering bliver bedre med hver udgivelse. En af grundene til, at Postgres er populær, er fordi den er kompatibel med de fleste moderne programmeringssprog og operativsystemer.