PostgreSQL is een van de beste keuzes voor een veilige opslagomgeving. Leer hoe u het kunt integreren met Django.

Het toevoegen van een database aan uw applicatie zorgt voor gegevensintegriteit en beveiliging. PostgreSQL (Postgres) is een Structured Query Language (SQL) databasebeheersysteem dat u misschien wilt overwegen.

Postgres ondersteunt de meeste populaire besturingssystemen en is compatibel met moderne programmeertalen. Postgres behandelt ook verschillende soorten gegevens en documenten. Met SQL-vaardigheden waar veel vraag naar is, is het leren configureren en gebruiken van PostgreSQL een voordeel.

U leert hoe u Postgres installeert, configureert en gebruikt in een Django-toepassing. Ook test je de functionaliteit van de database door gegevens uit de database toe te voegen, op te slaan en op te halen.

1. Installeer PostgreSQL op uw systeem

De volgende instructies geven uitleg hoe Postgres te installeren op het Ubuntu-besturingssysteem. Als u een Windows-gebruiker bent, kunt u dit volgen stapsgewijze handleiding om Postgres op Windows te installeren.

instagram viewer

Voordat u Postgres installeert, werkt u versiepakketten en hun afhankelijkheden bij met de volgende opdracht:

$ sudo apt-get update

Installeer vervolgens PostgreSQL met de volgende opdracht:

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

Wanneer u wordt gevraagd om de installatie te bevestigen, drukt u op Y voor Ja.

Maak verbinding met de server met behulp van de volgende opdracht:

$ sudo -i -u postgres

En gebruik vervolgens de databaseclient om te bepalen welke Postgres-versie is geïnstalleerd.

Voer de opdracht uit psql --versie.

postgres@nameofaccount:~$ psql --version

De uitvoer toont uw Postgres-versie zoals hieronder weergegeven:

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

Verlaat het Postgres-account door het Uitgang commando.

postgres@nameofaccount:~$ exit

2. Maak een databank aan

U moet een database maken die u verbindt met een Django-app. Navigeer terug naar de Postgres-shell en voer achtereenvolgens de volgende opdrachten uit.

sudo -i -u postgres
$ psql

Gebruik vervolgens de client om een ​​database op de server te maken.

postgres=# create database new_db;

De server retourneert de term CREATE DATABASE wanneer deze een database aanmaakt. U kunt ook langskomen een lijst van alle databases in het systeem met de opdracht \l.

postgres=# \l

Structuur van PostgreSQL

Net als een typische SQL-database slaat PostgreSQL gegevens op in tabellen. De tabellen vertegenwoordigen verschillende items/modellen in een toepassing. De tabellen hebben een vast aantal kolommen en rijen.

Elke tabel heeft een bepaalde kolom die een primaire sleutel wordt genoemd, een unieke identificatie voor elke rij die in de tabel is opgeslagen. Een tabel kan ook een externe sleutel hebben die deze verbindt met de primaire sleutel van een andere tabel.

De externe sleutels definiëren de relaties tussen twee tabellen.

Vervolgens moet u een Django-app maken en de database koppelen. Maar eerst installeren psychopg2 om de app en database te helpen verbinden.

3. Installeer Django en Psycopg2 Library

Om Postgres te verbinden met een Django-app, moet u het psychopg2 bibliotheek. Dit is een Postgres-afhankelijkheid die helpt om verbinding te maken en te communiceren met Django.

Voer de volgende opdracht uit om te installeren psychopg2 En Django:

$ pipenv install psycopg2 Django

4. Maak een Django-app

U moet een Django-app maken die de Postgres-database gebruikt. Maak eerst een project met de naam myboom om de app te ondersteunen. Django-projecten genereren automatisch afhankelijkheden en applicatie-instellingen die nodig zijn om de app uit te voeren.

Maak een map met de naam Boma-horloge en navigeer ernaartoe met de volgende opdrachten:

$ mkdir Boma-watch
$cd Boma-watch

Maak vervolgens een Django-project met de volgende opdracht:

$ django-admin startproject myboma .

Zorg ervoor dat u de punt aan het einde van de opdracht toevoegt, anders maakt Django een nieuwe map om het project te huisvesten.

Maak vervolgens een nieuwe app met de naam boma met het volgende commando:

$ django startapp boma

Als je nog niet eerder met Django hebt gewerkt, kan dat ga aan de slag met een beginnershandleiding voor Django. Nadat u de app in de browser hebt uitgevoerd om te bevestigen dat deze werkt, verbindt u deze met de database in de volgende sectie.

5. Verbind de database met de Django-app

U verbindt nu uw Django-app met de database die u hebt gemaakt met behulp van de volgende stappen:

Stap 1: wijzig de projectinstellingen om Postgres te gebruiken

U moet de projectinstellingen wijzigen om de Django-app met Postgres te verbinden. Navigeer naar het project instellingen.py bestand. Verander dan de DATABANKEN instellingen om uw Postgres-configuraties toe te voegen.

Vervang de GEBRUIKER En WACHTWOORD met uw psql gebruikersnaam en wachtwoord.

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

Stap 2: werk de tijdzone bij

Vervolgens in de instellingen.py bestand, stel de Tijdzone om uw locatie weer te geven. Django-projecten zijn vooraf geconfigureerd met de UTC-tijdzone.

TIME_ZONE = Africa/Nairobi

Stap 3: Maak een model

Maak een Profiel model in uw app. U gebruikt deze modelklasse om tabellen in de database te maken om de naam en biogegevens van de app op te slaan.

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

def__str__(self):
return self.name

Stap 4: Start de migratie

Voer de volgende opdrachten uit om de migratie te starten:

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

Een succesvolle migratie ziet er als volgt uit:

python manage.py migreren opdracht kiest de app uit de GEÏNSTALLEERDE_APPS settings > models.py-bestanden en maakt tabellen voor elk model. U heeft Postgres met succes verbonden met uw toepassing.

Nu kunt u de opdrachten CREATE, READ, UPDATE en DELETE (CRUD) in uw toepassing testen.

6. Test CRUD-opdrachten op uw app

Met de Python API van Django kunt u enkele CRUD-databasebewerkingen uitvoeren. De API verbindt de functies met de modellen zodat u de database kunt manipuleren.

Open de Python-shell in het Django-project met de volgende opdracht:

(virtual)$ python manage.py shell

De opdracht opent een console waar u de CRUD-bewerkingen kunt testen.

Bewerking maken

Importeer eerst de Profiel model uit de modellen module met behulp van de volgende opdracht:

 from boma.models import Profile

Maak vervolgens een instantie van de Profiel les en geef je gegevens door.

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

Sla vervolgens de gegevens op in de database.

prof1.save()

Lees operatie

Nadat u gegevens in de database hebt gemaakt en opgeslagen, kunt u deze opvragen om de opgeslagen gegevens op te halen.

Gebruik de Profiel.objecten.all() om alle gegevens in de Profiel tabel in de database.

Profile.objects.all() #outputs 

U kunt ook een enkel object ophalen met behulp van een hoofdsleutel of pk. Dit zijn nummers die zijn toegewezen aan elk item dat in de database is opgeslagen.

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

Bewerking bijwerken

U kunt de opgeslagen gegevens bijwerken met de volgende opdracht:

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

Voer de volgende opdracht uit om te controleren of de naam is bijgewerkt:

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

Bewerking verwijderen

U kunt opgeslagen items verwijderen met de volgende opdracht:

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

Voer de volgende opdracht uit om de verwijdering te bevestigen:

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

U kunt zien dat de queryset leeg is, wat aangeeft dat de gegevens niet langer in de database staan.

Waarom PostgreSQL gebruiken?

Postgres is een van de meest geavanceerde SQL-databases. De open-source builds zorgen voor constante prestatieverbeteringen.

Het beheren van workloads is eenvoudiger en het sorteren van databases wordt met elke release beter. Een van de redenen waarom Postgres populair is, is omdat het compatibel is met de meeste moderne programmeertalen en besturingssystemen.