PostgreSQL je jednou z nejlepších voleb pro bezpečné prostředí úložiště. Naučte se, jak jej integrovat s Django.

Přidání databáze do vaší aplikace zajišťuje integritu a bezpečnost dat. PostgreSQL (Postgres) je systém pro správu databází v jazyce SQL (Structured Query Language), o kterém možná budete chtít uvažovat.

Postgres podporuje většinu populárních operačních systémů a je kompatibilní s moderními programovacími jazyky. Postgres také zpracovává různá data a typy dokumentů. S vysokou poptávkou po dovednostech SQL je výhodou naučit se konfigurovat a používat PostgreSQL.

Dozvíte se, jak nainstalovat, nakonfigurovat a používat Postgres v aplikaci Django. Vyzkoušíte si také funkčnost databáze přidáváním, ukládáním a načítáním dat z databáze.

1. Nainstalujte PostgreSQL do svého systému

Následující pokyny vysvětlují jak nainstalovat Postgres na operační systém Ubuntu. Pokud jste uživatelem Windows, můžete postupovat podle tohoto krok za krokem průvodce instalací Postgres na Windows.

Před instalací Postgres aktualizujte balíčky verzí a jejich závislosti pomocí následujícího příkazu:

$ sudo apt-get update

Dále nainstalujte PostgreSQL pomocí následujícího příkazu:

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

Po zobrazení výzvy k potvrzení instalace stiskněte Y pro Ano.

Připojte se k serveru pomocí následujícího příkazu:

$ sudo -i -u postgres

A pak použijte databázového klienta k určení nainstalované verze Postgres.

Spusťte příkaz psql --verze.

postgres@nameofaccount:~$ psql --version

Výstup zobrazí vaši verzi Postgres, jak je uvedeno níže:

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

Ukončete účet Postgres spuštěním výstup příkaz.

postgres@nameofaccount:~$ exit

2. Vytvořte databázi

Musíte vytvořit databázi, kterou připojíte k aplikaci Django. Přejděte zpět do prostředí Postgres a spusťte následující příkazy za sebou.

sudo -i -u postgres
$ psql

Poté pomocí klienta vytvořte databázi na serveru.

postgres=# create database new_db;

Server při vytváření databáze vrátí výraz CREATE DATABASE. Můžete také zkontrolovat podle výpis všech databází v systému s příkazem \l.

postgres=# \l

Struktura PostgreSQL

Stejně jako typická SQL databáze, PostgreSQL ukládá data do tabulek. Tabulky představují různé položky/modely v aplikaci. Tabulky mají pevný počet sloupců a řádků.

Každá tabulka má určitý sloupec nazývaný primární klíč, jedinečný identifikátor pro každý řádek uložený v tabulce. Tabulka může mít také cizí klíč, který ji spojuje s primárním klíčem jiné tabulky.

Cizí klíče definují vztahy mezi dvěma tabulkami.

Dále musíte vytvořit aplikaci Django a propojit databázi. Nejprve ale nainstalujte psycopg2 pomoci propojit aplikaci a databázi.

3. Nainstalujte Django a Psycopg2 Library

Chcete-li připojit Postgres k aplikaci Django, musíte nainstalovat psycopg2 knihovna. Toto je závislost Postgres, která pomáhá připojit se a komunikovat s Django.

Pro instalaci spusťte následující příkaz psycopg2 a Django:

$ pipenv install psycopg2 Django

4. Vytvořte aplikaci Django

Musíte vytvořit aplikaci Django, která bude používat databázi Postgres. Nejprve vytvořte projekt s názvem myboma na podporu aplikace. Projekty Django automaticky generují závislosti a nastavení aplikace potřebné ke spuštění aplikace.

Vytvořte složku s názvem Boma-hodinky a přejděte k němu pomocí následujících příkazů:

$ mkdir Boma-watch
$cd Boma-watch

Poté vytvořte projekt Django pomocí následujícího příkazu:

$ django-admin startproject myboma .

Nezapomeňte přidat tečku na konec příkazu, jinak Django vytvoří novou složku pro umístění projektu.

Dále vytvořte novou aplikaci s názvem boma s následujícím příkazem:

$ django startapp boma

Pokud jste s Djangem ještě nepracovali, můžete začněte s průvodcem pro začátečníky Django. Po spuštění aplikace v prohlížeči, abyste potvrdili, že funguje, ji v další části připojíte k databázi.

5. Připojte databázi k aplikaci Django

Nyní připojíte svou aplikaci Django k databázi, kterou jste vytvořili, pomocí následujících kroků:

Krok 1: Změňte nastavení projektu na Použít Postgres

Chcete-li připojit aplikaci Django k Postgresu, musíte změnit nastavení projektu. Přejděte do projektu settings.py soubor. Poté změňte DATABÁZE nastavení pro přidání vašich konfigurací Postgres.

Nahradit UŽIVATEL a HESLO s tvým psql uživatelské jméno a heslo.

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

Krok 2: Aktualizujte časové pásmo

Dále v settings.py soubor, nastavte Časové pásmo odrážet vaši polohu. Projekty Django jsou předem nakonfigurovány s časovým pásmem UTC.

TIME_ZONE = Africa/Nairobi

Krok 3: Vytvořte model

Vytvořit Profil model ve vaší aplikaci. Tuto třídu modelu použijete k vytvoření tabulek v databázi pro uložení názvu aplikace a biologických dat.

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

def__str__(self):
return self.name

Krok 4: Spusťte migraci

Pro zahájení migrace spusťte následující příkazy:

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

Úspěšná migrace bude vypadat takto:

python manage.py migrovat příkaz vybere aplikaci z INSTALLED_APPS settings > models.py a vytvoří tabulky pro každý model. Úspěšně jste připojili Postgres ke své aplikaci.

Nyní můžete otestovat příkazy CREATE, READ, UPDATE a DELETE (CRUD) ve vaší aplikaci.

6. Otestujte příkazy CRUD ve své aplikaci

Django's Python API vám umožní provádět některé operace s databází CRUD. Rozhraní API spojuje funkce s modely a umožňuje vám manipulovat s databází.

Otevřete Python shell v projektu Django pomocí následujícího příkazu:

(virtual)$ python manage.py shell

Příkaz otevře konzolu, kde můžete otestovat operace CRUD.

Vytvořit operaci

Nejprve importujte Profil model z modely modulu pomocí následujícího příkazu:

 from boma.models import Profile

Poté vytvořte instanci souboru Profil třídy a předejte své údaje.

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

Dále uložte data do databáze.

prof1.save()

Přečtěte si operaci

Po vytvoření dat v databázi a jejich uložení je můžete požádat o načtení uložených dat.

Použijte Profile.objects.all() k načtení všech dat v Profil tabulky v databázi.

Profile.objects.all() #outputs 

Můžete také načíst jeden objekt pomocí a primární klíč nebo pk. Jedná se o čísla přiřazená každé položce uložené v databázi.

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

Operace aktualizace

Uložená data můžete aktualizovat pomocí následujícího příkazu:

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

Chcete-li zkontrolovat, zda byl název aktualizován, spusťte následující příkaz:

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

Smazat operaci

Uložené položky můžete odstranit pomocí následujícího příkazu:

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

Pro potvrzení smazání spusťte následující příkaz:

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

Můžete vidět, že sada dotazů je prázdná, což znamená, že data již nejsou v databázi.

Proč používat PostgreSQL?

Postgres je jednou z nejpokročilejších SQL databází. Jeho open-source sestavení zajišťují neustálé zlepšování výkonu.

Správa úloh je jednodušší a třídění databází se s každou verzí zlepšuje. Jedním z důvodů, proč je Postgres populární, je to, že je kompatibilní s většinou moderních programovacích jazyků a operačních systémů.