PostgreSQL je ena najboljših izbir za varno okolje za shranjevanje. Naučite se, kako ga integrirati z Django.

Dodajanje zbirke podatkov vaši aplikaciji zagotavlja celovitost in varnost podatkov. PostgreSQL (Postgres) je sistem za upravljanje baz podatkov Structured Query Language (SQL), ki ga boste morda želeli razmisliti.

Postgres podpira večino priljubljenih operacijskih sistemov in je združljiv s sodobnimi programskimi jeziki. Postgres obravnava tudi različne vrste podatkov in dokumentov. Ker je povpraševanje po veščinah SQL veliko, je učenje konfiguriranja in uporabe PostgreSQL prednost.

Naučili se boste, kako namestiti, konfigurirati in uporabljati Postgres v aplikaciji Django. Preizkusili boste tudi funkcionalnost baze z dodajanjem, shranjevanjem in pridobivanjem podatkov iz baze.

1. Namestite PostgreSQL v svoj sistem

Naslednja navodila pojasnjujejo kako namestiti Postgres na operacijski sistem Ubuntu. Če ste uporabnik sistema Windows, lahko sledite temu vodnik po korakih za namestitev Postgres v sistem Windows.

instagram viewer

Preden namestite Postgres, posodobite pakete različic in njihove odvisnosti z naslednjim ukazom:

$ sudo apt-get update

Nato namestite PostgreSQL z naslednjim ukazom:

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

Ko ste pozvani k potrditvi namestitve, pritisnite Y za ja.

Povežite se s strežnikom z naslednjim ukazom:

$ sudo -i -u postgres

Nato uporabite odjemalca zbirke podatkov, da ugotovite, katera različica Postgres je nameščena.

Izvedite ukaz psql --različica.

postgres@nameofaccount:~$ psql --version

Izhod bo prikazal vašo različico Postgres, kot je prikazano spodaj:

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

Zapustite račun Postgres tako, da zaženete izhod ukaz.

postgres@nameofaccount:~$ exit

2. Ustvari bazo podatkov

Ustvariti morate bazo podatkov, ki jo boste povezali z aplikacijo Django. Pomaknite se nazaj do lupine Postgres in zaporedoma zaženite naslednje ukaze.

sudo -i -u postgres
$ psql

Nato uporabite odjemalca za ustvarjanje baze podatkov na strežniku.

postgres=# create database new_db;

Strežnik vrne izraz CREATE DATABASE, ko ustvari bazo podatkov. Preverite lahko tudi pri seznam vseh baz podatkov v sistemu z ukazom \l.

postgres=# \l

Struktura PostgreSQL

Tako kot običajna baza podatkov SQL tudi PostgreSQL shranjuje podatke v tabelah. Tabele predstavljajo različne elemente/modele v aplikaciji. Tabele imajo določeno število stolpcev in vrstic.

Vsaka tabela ima določen stolpec, imenovan primarni ključ, edinstven identifikator za vsako vrstico, shranjeno v tabeli. Tabela ima lahko tudi tuji ključ, ki jo povezuje s primarnim ključem druge tabele.

Tuji ključi določajo relacije med dvema tabelama.

Nato morate ustvariti aplikacijo Django in povezati bazo podatkov. Toda najprej namestite psycopg2 za pomoč pri povezovanju aplikacije in baze podatkov.

3. Namestite knjižnico Django in Psycopg2

Če želite povezati Postgres z aplikacijo Django, morate namestiti psycopg2 knjižnica. To je odvisnost od Postgresa, ki pomaga pri povezovanju in komunikaciji z Django.

Za namestitev zaženite naslednji ukaz psycopg2 in Django:

$ pipenv install psycopg2 Django

4. Ustvarite aplikacijo Django

Ustvariti morate aplikacijo Django, ki bo uporabljala bazo podatkov Postgres. Najprej ustvarite projekt, imenovan miboma za podporo aplikacije. Projekti Django samodejno ustvarijo odvisnosti in nastavitve aplikacije, potrebne za zagon aplikacije.

Ustvarite mapo z imenom Boma-ura in se pomaknite do njega z naslednjimi ukazi:

$ mkdir Boma-watch
$cd Boma-watch

Nato ustvarite projekt Django z naslednjim ukazom:

$ django-admin startproject myboma .

Ne pozabite dodati pike na koncu ukaza, sicer bo Django ustvaril novo mapo za namestitev projekta.

Nato ustvarite novo aplikacijo, imenovano boma z naslednjim ukazom:

$ django startapp boma

Če še niste delali z Djangom, lahko začnite z vodnikom za začetnike po Djangu. Ko zaženete aplikacijo v brskalniku in potrdite, da deluje, jo boste v naslednjem razdelku povezali z bazo podatkov.

5. Povežite bazo podatkov z aplikacijo Django

Zdaj boste svojo aplikacijo Django povezali z zbirko podatkov, ki ste jo ustvarili z naslednjimi koraki:

1. korak: spremenite nastavitve projekta za uporabo Postgresa

Za povezavo aplikacije Django s Postgresom morate spremeniti nastavitve projekta. Pomaknite se do projekta nastavitve.py mapa. Nato spremenite PODATKOVNE BAZE nastavitve za dodajanje vaših konfiguracij Postgres.

Zamenjajte UPORABNIK in GESLO s svojim psql uporabniško ime in geslo.

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

2. korak: posodobite časovni pas

Naprej, v nastavitve.py datoteko, nastavite Časovni pas da odraža vašo lokacijo. Projekti Django so vnaprej konfigurirani s časovnim pasom UTC.

TIME_ZONE = Africa/Nairobi

3. korak: Ustvarite model

Ustvariti Profil model v vaši aplikaciji. Ta razred modela boste uporabili za ustvarjanje tabel v zbirki podatkov za shranjevanje imena in bioloških podatkov aplikacije.

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

def__str__(self):
return self.name

4. korak: Začnite selitev

Za začetek selitve zaženite naslednje ukaze:

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

Uspešna selitev bo videti takole:

python manage.py migrate ukaz izbere aplikacijo iz INSTALLED_APPS nastavitve > datoteke models.py in ustvari tabele za vsak model. Postgres ste uspešno povezali s svojo aplikacijo.

Zdaj lahko preizkusite ukaze CREATE, READ, UPDATE in DELETE (CRUD) v svoji aplikaciji.

6. Preizkusite ukaze CRUD v svoji aplikaciji

Djangov Python API vam bo omogočil izvajanje nekaterih operacij baze podatkov CRUD. API povezuje funkcije z modeli, da vam omogoči manipulacijo baze podatkov.

Odprite lupino Python v projektu Django z naslednjim ukazom:

(virtual)$ python manage.py shell

Ukaz bo odprl konzolo, kjer lahko preizkusite operacije CRUD.

Ustvari operacijo

Najprej uvozite Profil model iz modeli modul z naslednjim ukazom:

 from boma.models import Profile

Nato ustvarite primerek Profil razreda in posredujte svoje podatke.

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

Nato shranite podatke v bazo podatkov.

prof1.save()

Preberite operacijo

Ko ustvarite podatke v zbirki podatkov in jih shranite, lahko povprašate po njej, da pridobite shranjene podatke.

Uporabi Profile.objects.all() za pridobitev vseh podatkov v Profil tabelo v bazi podatkov.

Profile.objects.all() #outputs 

Posamezen predmet lahko pridobite tudi z uporabo a primarni ključ oz pak. To so številke, dodeljene vsakemu elementu, shranjenemu v bazi podatkov.

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

Operacija posodobitve

Shranjene podatke lahko posodobite z naslednjim ukazom:

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

Če želite preveriti, ali je bilo ime posodobljeno, izvedite naslednji ukaz:

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

Operacija brisanja

Shranjene elemente lahko izbrišete z naslednjim ukazom:

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

Za potrditev izbrisa zaženite naslednji ukaz:

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

Vidite lahko, da je nabor poizvedb prazen, kar pomeni, da podatkov ni več v bazi podatkov.

Zakaj uporabljati PostgreSQL?

Postgres je ena najnaprednejših baz podatkov SQL. Njegove odprtokodne različice zagotavljajo stalne izboljšave zmogljivosti.

Upravljanje delovnih obremenitev je lažje, razvrščanje baze podatkov pa je z vsako izdajo boljše. Eden od razlogov, zakaj je Postgres priljubljen, je ta, da je združljiv z večino sodobnih programskih jezikov in operacijskih sistemov.