PostgreSQL je jedan od najboljih izbora za sigurno okruženje za pohranu. Naučite kako ga integrirati s Djangom.

Dodavanje baze podataka vašoj aplikaciji osigurava integritet i sigurnost podataka. PostgreSQL (Postgres) sustav je upravljanja bazom podataka Structured Query Language (SQL) koji biste trebali razmotriti.

Postgres podržava većinu popularnih operativnih sustava i kompatibilan je s modernim programskim jezicima. Postgres također obrađuje razne vrste podataka i dokumenata. Uz veliku potražnju za SQL vještinama, prednost je naučiti konfigurirati i koristiti PostgreSQL.

Naučit ćete kako instalirati, konfigurirati i koristiti Postgres u Django aplikaciji. Također ćete testirati funkcionalnost baze podataka dodavanjem, pohranjivanjem i dohvaćanjem podataka iz baze podataka.

1. Instalirajte PostgreSQL na svoj sustav

Sljedeće upute objašnjavaju kako instalirati Postgres na Ubuntu operativni sustav. Ako ste korisnik Windowsa, možete slijediti ovo korak po korak vodič za instalaciju Postgresa na Windows.

instagram viewer

Prije instaliranja Postgresa, ažurirajte pakete verzija i njihove ovisnosti sljedećom naredbom:

$ sudo apt-get update

Zatim instalirajte PostgreSQL sljedećom naredbom:

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

Kada se od vas zatraži da potvrdite instalaciju, pritisnite Y za Da.

Spojite se na poslužitelj pomoću sljedeće naredbe:

$ sudo -i -u postgres

Zatim pomoću klijenta baze podataka odredite instaliranu verziju Postgresa.

Pokrenite naredbu psql --verzija.

postgres@nameofaccount:~$ psql --version

Izlaz će prikazati vašu verziju Postgresa kao što je prikazano u nastavku:

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

Izađite iz Postgres računa pokretanjem Izlaz naredba.

postgres@nameofaccount:~$ exit

2. Napravite bazu podataka

Morate stvoriti bazu podataka koju ćete povezati s Django aplikacijom. Vratite se do Postgres ljuske i uzastopno pokrenite sljedeće naredbe.

sudo -i -u postgres
$ psql

Zatim koristite klijenta za stvaranje baze podataka na poslužitelju.

postgres=# create database new_db;

Poslužitelj vraća pojam CREATE DATABASE kada kreira bazu podataka. Također možete provjeriti putem popis svih baza podataka u sustavu s naredbom \l.

postgres=# \l

Struktura PostgreSQL-a

Poput tipične SQL baze podataka, PostgreSQL pohranjuje podatke u tablice. Tablice predstavljaju različite stavke/modele u aplikaciji. Tablice imaju fiksni broj stupaca i redaka.

Svaka tablica ima određeni stupac koji se naziva primarni ključ, jedinstveni identifikator za svaki red pohranjen u tablici. Tablica također može imati strani ključ koji je povezuje s primarnim ključem druge tablice.

Strani ključevi definiraju odnose između dvije tablice.

Zatim trebate izraditi Django aplikaciju i povezati bazu podataka. Ali prvo instalirajte psycopg2 za pomoć pri povezivanju aplikacije i baze podataka.

3. Instalirajte Django i Psycopg2 biblioteku

Da biste povezali Postgres s Django aplikacijom, trebate instalirati psycopg2 knjižnica. Ovo je Postgresova ovisnost koja pomaže u povezivanju i komunikaciji s Djangom.

Pokrenite sljedeću naredbu za instalaciju psycopg2 i Django:

$ pipenv install psycopg2 Django

4. Napravite Django aplikaciju

Morate izraditi Django aplikaciju koja će koristiti Postgres bazu podataka. Najprije izradite projekt tzv miboma za podršku aplikaciji. Django projekti automatski generiraju ovisnosti i postavke aplikacije potrebne za pokretanje aplikacije.

Napravite mapu pod nazivom Boma-sat i dođite do njega pomoću sljedećih naredbi:

$ mkdir Boma-watch
$cd Boma-watch

Zatim stvorite Django projekt sljedećom naredbom:

$ django-admin startproject myboma .

Obavezno dodajte točku na kraju naredbe, inače će Django stvoriti novu mapu za smještaj projekta.

Zatim izradite novu aplikaciju pod nazivom boma sa sljedećom naredbom:

$ django startapp boma

Ako dosad niste radili s Djangom, možete započnite s vodičem za Django za početnike. Nakon što pokrenete aplikaciju u pregledniku da potvrdite da radi, povezat ćete je s bazom podataka u sljedećem odjeljku.

5. Povežite bazu podataka s aplikacijom Django

Sada ćete povezati svoju Django aplikaciju s bazom podataka koju ste izradili pomoću sljedećih koraka:

Korak 1: Promijenite postavke projekta za korištenje Postgresa

Morate promijeniti postavke projekta za povezivanje aplikacije Django s Postgresom. Dođite do projekta postavke.py datoteka. Zatim promijenite BAZE PODATAKA postavke za dodavanje vaših Postgres konfiguracija.

Zamijenite KORISNIK i LOZINKA sa tvojim psql korisničko ime i lozinka.

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

2. korak: ažurirajte vremensku zonu

Dalje, u postavke.py datoteku, postavite Vremenska zona odražavati vašu lokaciju. Django projekti su unaprijed konfigurirani s UTC vremenskom zonom.

TIME_ZONE = Africa/Nairobi

Korak 3: Izradite model

Stvoriti Profil model u vašoj aplikaciji. Koristit ćete ovu klasu modela za stvaranje tablica u bazi podataka za pohranjivanje naziva aplikacije i biografskih podataka.

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

def__str__(self):
return self.name

Korak 4: Pokrenite migraciju

Izvedite sljedeće naredbe za početak migracije:

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

Uspješna migracija izgledat će ovako:

python management.py migrirati naredba odabire aplikaciju iz INSTALLED_APPS postavke > datoteke models.py i stvara tablice za svaki model. Uspješno ste povezali Postgres sa svojom aplikacijom.

Sada možete testirati naredbe CREATE, READ, UPDATE i DELETE (CRUD) na svojoj aplikaciji.

6. Testirajte CRUD naredbe na svojoj aplikaciji

Djangov Python API omogućit će vam izvođenje nekih operacija CRUD baze podataka. API povezuje funkcije s modelima kako bi vam omogućio manipuliranje bazom podataka.

Otvorite Python ljusku u Django projektu pomoću sljedeće naredbe:

(virtual)$ python manage.py shell

Naredba će otvoriti konzolu na kojoj možete testirati CRUD operacije.

Kreiraj operaciju

Prvo uvezite Profil model iz modeli modul pomoću sljedeće naredbe:

 from boma.models import Profile

Zatim stvorite instancu Profil klase i proslijedite svoje podatke.

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

Zatim spremite podatke u bazu podataka.

prof1.save()

Pročitajte Operaciju

Nakon što stvorite podatke u bazi podataka i spremite ih, možete joj postaviti upit kako biste dohvatili spremljene podatke.

Koristiti Profile.objects.all() za preuzimanje svih podataka u Profil tablica u bazi podataka.

Profile.objects.all() #outputs 

Također možete dohvatiti jedan objekt koristeći a Osnovni ključ ili pak. Ovo su brojevi dodijeljeni svakoj stavci spremljenoj u bazi podataka.

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

Operacija ažuriranja

Spremljene podatke možete ažurirati pomoću sljedeće naredbe:

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

Da biste provjerili je li ime ažurirano, izvršite sljedeću naredbu:

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

Operacija brisanja

Spremljene stavke možete izbrisati pomoću sljedeće naredbe:

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

Za potvrdu brisanja pokrenite sljedeću naredbu:

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

Možete vidjeti da je skup upita prazan, što znači da podaci više nisu u bazi podataka.

Zašto koristiti PostgreSQL?

Postgres je jedna od najnaprednijih SQL baza podataka. Njegove verzije otvorenog koda osiguravaju stalna poboljšanja performansi.

Upravljanje opterećenjima je lakše, a sortiranje baze podataka postaje bolje sa svakim izdanjem. Jedan od razloga zašto je Postgres popularan je to što je kompatibilan s većinom modernih programskih jezika i operativnih sustava.