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