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