PostgreSQL je jednou z najlepších možností pre bezpečné úložné prostredie. Zistite, ako ho integrovať s Django.

Pridanie databázy do vašej aplikácie zaisťuje integritu a bezpečnosť údajov. PostgreSQL (Postgres) je systém na správu databáz v jazyku SQL (Structured Query Language), o ktorom možno budete chcieť uvažovať.

Postgres podporuje väčšinu populárnych operačných systémov a je kompatibilný s modernými programovacími jazykmi. Postgres tiež spracováva rôzne typy údajov a dokumentov. Vzhľadom na vysoké požiadavky na zručnosti SQL je výhodou naučiť sa konfigurovať a používať PostgreSQL.

Dozviete sa, ako nainštalovať, nakonfigurovať a používať Postgres v aplikácii Django. Funkcionalitu databázy otestujete aj pridávaním, ukladaním a získavaním údajov z databázy.

1. Nainštalujte PostgreSQL do svojho systému

Nasledujúce pokyny vysvetľujú ako nainštalovať Postgres na operačný systém Ubuntu. Ak ste používateľom systému Windows, môžete postupovať podľa tohto podrobný návod na inštaláciu Postgres na Windows.

instagram viewer

Pred inštaláciou Postgres aktualizujte balíčky verzií a ich závislosti pomocou nasledujúceho príkazu:

$ sudo apt-get update

Ďalej nainštalujte PostgreSQL pomocou nasledujúceho príkazu:

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

Po výzve na potvrdenie inštalácie stlačte Y pre Áno.

Pripojte sa k serveru pomocou nasledujúceho príkazu:

$ sudo -i -u postgres

A potom použite databázového klienta na určenie nainštalovanej verzie Postgres.

Spustite príkaz psql --verzia.

postgres@nameofaccount:~$ psql --version

Výstup zobrazí vašu verziu Postgres, ako je uvedené nižšie:

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

Ukončite účet Postgres spustením VÝCHOD príkaz.

postgres@nameofaccount:~$ exit

2. Vytvorte databázu

Musíte vytvoriť databázu, ktorú pripojíte k aplikácii Django. Prejdite späť do prostredia Postgres a spustite nasledujúce príkazy za sebou.

sudo -i -u postgres
$ psql

Potom použite klienta na vytvorenie databázy na serveri.

postgres=# create database new_db;

Server pri vytváraní databázy vráti výraz CREATE DATABASE. Môžete tiež skontrolovať podľa zoznam všetkých databáz v systéme s príkazom \l.

postgres=# \l

Štruktúra PostgreSQL

Rovnako ako typická databáza SQL, PostgreSQL ukladá údaje do tabuliek. Tabuľky predstavujú rôzne položky/modely v aplikácii. Tabuľky majú pevný počet stĺpcov a riadkov.

Každá tabuľka má konkrétny stĺpec nazývaný primárny kľúč, jedinečný identifikátor pre každý riadok uložený v tabuľke. Tabuľka môže mať aj cudzí kľúč, ktorý ju spája s primárnym kľúčom inej tabuľky.

Cudzie kľúče definujú vzťahy medzi dvoma tabuľkami.

Ďalej musíte vytvoriť aplikáciu Django a prepojiť databázu. Najprv však nainštalujte psycopg2 pomôcť prepojiť aplikáciu a databázu.

3. Nainštalujte si Django a Psycopg2 Library

Ak chcete pripojiť Postgres k aplikácii Django, musíte si nainštalovať psycopg2 knižnica. Toto je závislosť Postgres, ktorá pomáha spojiť sa a komunikovať s Djangom.

Spustite nasledujúci príkaz na inštaláciu psycopg2 a Django:

$ pipenv install psycopg2 Django

4. Vytvorte aplikáciu Django

Musíte vytvoriť aplikáciu Django, ktorá bude používať databázu Postgres. Najprv vytvorte projekt tzv myboma na podporu aplikácie. Projekty Django automaticky generujú závislosti a nastavenia aplikácie potrebné na spustenie aplikácie.

Vytvorte priečinok s názvom Boma-hodinky a prejdite naň pomocou nasledujúcich príkazov:

$ mkdir Boma-watch
$cd Boma-watch

Potom vytvorte projekt Django pomocou nasledujúceho príkazu:

$ django-admin startproject myboma .

Uistite sa, že ste na koniec príkazu pridali bodku, inak Django vytvorí nový priečinok pre uloženie projektu.

Ďalej vytvorte novú aplikáciu s názvom boma s nasledujúcim príkazom:

$ django startapp boma

Ak ste s Djangom ešte nepracovali, môžete začnite so sprievodcom pre začiatočníkov po Django. Po spustení aplikácie v prehliadači, aby ste potvrdili, že funguje, ju v ďalšej časti pripojíte k databáze.

5. Pripojte databázu k aplikácii Django

Teraz pripojíte svoju aplikáciu Django k databáze, ktorú ste vytvorili, pomocou nasledujúcich krokov:

Krok 1: Zmeňte nastavenia projektu na používanie Postgres

Ak chcete pripojiť aplikáciu Django k Postgresu, musíte zmeniť nastavenia projektu. Prejdite do projektu settings.py súbor. Potom zmeňte DATABÁZE nastavenia na pridanie konfigurácií Postgres.

Vymeňte USER a HESLO s tvojím psql užívateľské meno a heslo.

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

Krok 2: Aktualizujte časové pásmo

Ďalej v settings.py súbor, nastavte Časové pásmo odrážať vašu polohu. Projekty Django sú vopred nakonfigurované s časovým pásmom UTC.

TIME_ZONE = Africa/Nairobi

Krok 3: Vytvorte model

Vytvor Profil model vo vašej aplikácii. Túto triedu modelu použijete na vytvorenie tabuliek v databáze na uloženie názvu aplikácie a bio údajov.

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

def__str__(self):
return self.name

Krok 4: Spustite migráciu

Ak chcete spustiť migráciu, spustite nasledujúce príkazy:

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

Úspešná migrácia bude vyzerať takto:

python manage.py migrovať príkaz vyberie aplikáciu z INSTALLED_APPS settings > models.py a vytvorí tabuľky pre každý model. Úspešne ste pripojili Postgres k svojej aplikácii.

Teraz môžete otestovať príkazy CREATE, READ, UPDATE a DELETE (CRUD) vo vašej aplikácii.

6. Otestujte príkazy CRUD vo svojej aplikácii

Django's Python API vám umožní vykonávať niektoré operácie s databázou CRUD. Rozhranie API spája funkcie s modelmi, aby vám umožnilo manipulovať s databázou.

Otvorte shell Python v projekte Django pomocou nasledujúceho príkazu:

(virtual)$ python manage.py shell

Príkaz otvorí konzolu, kde môžete otestovať operácie CRUD.

Vytvoriť operáciu

Najprv importujte súbor Profil model z modelov modul pomocou nasledujúceho príkazu:

 from boma.models import Profile

Potom vytvorte inštanciu súboru Profil triedy a odovzdať svoje údaje.

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

Ďalej uložte údaje do databázy.

prof1.save()

Prečítajte si operáciu

Po vytvorení údajov v databáze a ich uložení ich môžete požiadať o načítanie uložených údajov.

Použi Profile.objects.all() na získanie všetkých údajov v Profil tabuľky v databáze.

Profile.objects.all() #outputs 

Môžete tiež získať jeden objekt pomocou a primárny kľúč alebo pk. Sú to čísla priradené každej položke uloženej v databáze.

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

Operácia aktualizácie

Uložené údaje môžete aktualizovať pomocou nasledujúceho príkazu:

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

Ak chcete skontrolovať, či bol názov aktualizovaný, vykonajte nasledujúci príkaz:

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

Odstrániť operáciu

Uložené položky môžete odstrániť pomocou nasledujúceho príkazu:

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

Ak chcete potvrdiť vymazanie, spustite nasledujúci príkaz:

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

Môžete vidieť, že sada dotazov je prázdna, čo znamená, že údaje už nie sú v databáze.

Prečo používať PostgreSQL?

Postgres je jednou z najpokročilejších SQL databáz. Jeho open-source zostavy zaisťujú neustále zlepšovanie výkonu.

Správa pracovných zaťažení je jednoduchšia a triedenie databáz sa s každým vydaním zlepšuje. Jedným z dôvodov, prečo je Postgres populárny, je to, že je kompatibilný s väčšinou moderných programovacích jazykov a operačných systémov.