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:

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