PostgreSQL er et av de beste valgene for et sikkert lagringsmiljø. Lær hvordan du integrerer det med Django.
Å legge til en database i applikasjonen sikrer dataintegritet og sikkerhet. PostgreSQL (Postgres) er et Structured Query Language (SQL) databasebehandlingssystem som du kanskje vil vurdere.
Postgres støtter de fleste av de populære operativsystemene og er kompatibel med moderne programmeringsspråk. Postgres håndterer også ulike data- og dokumenttyper. Med høy etterspørsel etter SQL-ferdigheter er det en fordel å lære å konfigurere og bruke PostgreSQL.
Du lærer hvordan du installerer, konfigurerer og bruker Postgres i en Django-applikasjon. Du vil også teste funksjonaliteten til databasen ved å legge til, lagre og hente data fra databasen.
1. Installer PostgreSQL på systemet ditt
Følgende instruksjoner forklarer hvordan du installerer Postgres på Ubuntu-operativsystemet. Hvis du er en Windows-bruker, kan du følge dette trinn-for-trinn-guide for å installere Postgres på Windows.
Før du installerer Postgres, oppdater versjonspakker og deres avhengigheter med følgende kommando:
$ sudo apt-get update
Deretter installerer du PostgreSQL med følgende kommando:
$ sudo apt-get install postgresql postgresql-contrib libpq-dev
Når du blir bedt om å bekrefte installasjonen, trykk Y til Ja.
Koble til serveren ved å bruke følgende kommando:
$ sudo -i -u postgres
Og bruk deretter databaseklienten til å finne ut hvilken Postgres-versjon som er installert.
Kjør kommandoen psql --versjon.
postgres@nameofaccount:~$ psql --version
Utgangen vil vise din Postgres-versjon som vist nedenfor:
psql (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)
Avslutt Postgres-kontoen ved å kjøre exit kommando.
postgres@nameofaccount:~$ exit
2. Opprett en database
Du må opprette en database som du vil koble til en Django-app. Naviger tilbake til Postgres-skallet og kjør følgende kommandoer fortløpende.
sudo -i -u postgres
$ psql
Bruk deretter klienten til å lage en database på serveren.
postgres=# create database new_db;
Serveren returnerer begrepet CREATE DATABASE når den oppretter en database. Du kan også sjekke innom liste opp alle databasene i systemet med kommandoen \l.
postgres=# \l
Strukturen til PostgreSQL
Som en typisk SQL-database, lagrer PostgreSQL data i tabeller. Tabellene representerer ulike elementer/modeller i en applikasjon. Tabellene har et fast antall kolonner og rader.
Hver tabell har en bestemt kolonne kalt en primærnøkkel, en unik identifikator for hver rad som er lagret i tabellen. En tabell kan også ha en fremmednøkkel som kobler den til en annen tabells primærnøkkel.
Fremmednøklene definerer relasjonene mellom to tabeller.
Deretter må du opprette en Django-app og koble til databasen. Men først, installer psychopg2 for å hjelpe til med å koble appen og databasen.
3. Installer Django og Psychopg2 Library
For å koble Postgres til en Django-app, må du installere psychopg2 bibliotek. Dette er en Postgres-avhengighet som hjelper til med å koble til og kommunisere med Django.
Kjør følgende kommando for å installere psychopg2 og Django:
$ pipenv install psycopg2 Django
4. Lag en Django-app
Du må lage en Django-app som vil bruke Postgres-databasen. Først oppretter du et prosjekt kalt myboma for å støtte appen. Django prosjekterer autogenererte avhengigheter og applikasjonsinnstillinger som er nødvendige for å kjøre appen.
Opprett en mappe kalt Boma-klokke og naviger til den med følgende kommandoer:
$ mkdir Boma-watch
$cd Boma-watch
Deretter oppretter du et Django-prosjekt med følgende kommando:
$ django-admin startproject myboma .
Sørg for å legge til punktum på slutten av kommandoen, ellers vil Django opprette en ny mappe for å huse prosjektet.
Deretter oppretter du en ny app kalt boma med følgende kommando:
$ django startapp boma
Hvis du ikke har jobbet med Django før, kan du det kom i gang med en nybegynnerguide til Django. Etter å ha kjørt appen på nettleseren for å bekrefte at den fungerer, kobler du den til databasen i neste seksjon.
5. Koble database til Django-appen
Du vil nå koble Django-appen din til databasen du opprettet ved å bruke følgende trinn:
Trinn 1: Endre prosjektinnstillinger for å bruke Postgres
Du må endre prosjektinnstillingene for å koble Django-appen til Postgres. Naviger til prosjektet settings.py fil. Deretter endrer du DATABASER innstillinger for å legge til Postgres-konfigurasjonene dine.
Bytt ut BRUKER og PASSORD med din psql brukernavn og passord.
#...
DATABASES = {
'default': {
'ENGINE':'django.db.backends.postgresql',
'NAME':'new_db',
'USER':'morine',
'PASSWORD':'password',
}
}
Trinn 2: Oppdater tidssonen
Neste, i settings.py fil, angi Tidssone for å gjenspeile posisjonen din. Django-prosjekter er forhåndskonfigurert med UTC-tidssonen.
TIME_ZONE = Africa/Nairobi
Trinn 3: Lag en modell
Lage en Profil modell i appen din. Du vil bruke denne modellklassen til å lage tabeller i databasen for å lagre 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
Trinn 4: Start migrering
Kjør følgende kommandoer for å starte migreringen:
(virtual)$ python manage.py makemigrations boma
(virtual)$ python manage.py migrate
En vellykket migrering vil se slik ut:
python manage.py migrere kommandoen velger appen fra INSTALLERT_APPS innstillinger > models.py-filer og oppretter tabeller for hver modell. Du har koblet Postgres til applikasjonen din.
Nå kan du teste kommandoene CREATE, READ, UPDATE og DELETE (CRUD) på applikasjonen din.
6. Test CRUD-kommandoer på appen din
Djangos Python API vil gjøre deg i stand til å utføre noen CRUD-databaseoperasjoner. API-en kobler funksjonene sammen med modellene slik at du kan manipulere databasen.
Åpne Python-skallet i Django-prosjektet ved å bruke følgende kommando:
(virtual)$ python manage.py shell
Kommandoen åpner en konsoll der du kan teste CRUD-operasjonene.
Opprett operasjon
Først importerer du Profil modell fra modeller modul ved å bruke følgende kommando:
from boma.models import Profile
Deretter oppretter du en forekomst av Profil klasse og gi inn dataene dine.
prof1 = Profile.objects.create(name ='Ken',bio ='I am a Scorpio')
Deretter lagrer du dataene i databasen.
prof1.save()
Les Operasjon
Etter å ha opprettet data i databasen og lagret dem, kan du spørre den for å hente de lagrede dataene.
Bruke Profile.objects.all() for å hente alle dataene i Profil tabell i databasen.
Profile.objects.all() #outputs
Du kan også hente et enkelt objekt ved å bruke en primærnøkkel eller pk. Dette er numre som er tildelt hvert element som er lagret i databasen.
Profile.objects.get(pk = 1) #outputs
Oppdateringsoperasjon
Du kan oppdatere de lagrede dataene ved å bruke følgende kommando:
Profile.objects.filter(id = 1).update(name ='Kim';) #outputs 1
For å sjekke om navnet ble oppdatert, kjør følgende kommando:
Profile.objects.filter(id = 1) #outputs
Slett operasjon
Du kan slette lagrede elementer ved å bruke følgende kommando:
Profile.objects.filter(id = 1).delete() #outputs (1, {app.Profile: 1})
For å bekrefte slettingen kjør følgende kommando:
Profile.objects.filter(id = 1) #outputs
Du kan se at spørringssettet er tomt, noe som indikerer at dataene ikke lenger er i databasen.
Hvorfor bruke PostgreSQL?
Postgres er en av de mest avanserte SQL-databasene. Dens åpne kildekode-bygg sikrer konstant ytelsesforbedringer.
Det er enklere å administrere arbeidsmengder, og databasesortering blir bedre for hver utgivelse. En av grunnene til at Postgres er populær er fordi den er kompatibel med de fleste moderne programmeringsspråk og operativsystemer.