Django je známy webový framework, ktorý zjednodušuje proces vytvárania robustných, škálovateľných, bezpečných a vysoko výkonných webových aplikácií. Je to open-source projekt napísaný v jazyku Python. Môžete si pozrieť podrobnejšie informácie o Django tu.
Každá webová aplikácia vyžaduje databázu ako backend na správu údajov. Django podporuje rôzne databázové nástroje ako backend, napríklad MySQL, PostgreSQL, SQLite atď. PostgreSQL je výkonný, open-source objektovo-relačný databázový systém. Je známy svojou spoľahlivosťou, škálovateľnosťou, bezpečnosťou a robustnou sadou funkcií. Môžete zistiť viac o PostgreSQL tu.
V tejto príručke predvedieme integráciu PostgreSQL ako backendu na ukážkovej aplikácii Django.
Požiadavky
Práca s Django vyžaduje určité systémové konfigurácie.
- Správne nakonfigurovaný Ubuntu 21.04 server. Prečítajte si viac o nastavení servera Ubuntu.
- Vývojové prostredie Python. Django je napísaný v Pythone, takže na spustenie vyžaduje prostredie Python.
- Nainštalovaný PostgreSQL, keďže ho budeme používať ako databázový server pre našu aplikáciu Django. Prečítajte si viac o inštalácii a konfigurácii PostgreSQL na Ubuntu tu.
Táto príručka tiež ukáže, ako používať rôzne moduly a knižnice Pythonu, ktoré sú potrebné pre funkčnú aplikáciu Django.
Krok 1. Inštalácia potrebných komponentov
Aby náš projekt fungoval, potrebujeme mať v našom systéme Ubuntu nainštalovaných niekoľko dôležitých balíkov. Našťastie sú všetky priamo dostupné z oficiálnych repozitárov balíkov Ubuntu. Tieto balíky zahŕňajú komponenty Pythonu a komponenty databázy (PostgreSQL).
Najprv spustite terminál a aktualizujte vyrovnávaciu pamäť balíkov APT:
|
1 |
sudo apt update |
Ďalej nainštalujte balíky:
|
1 |
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib |
Krok 2. Príprava databázy
PostgreSQL je teraz nainštalovaný a pripravený na použitie. Ďalej vytvoríme vyhradenú databázu a používateľa pre našu aplikáciu Django. Mať vyhradeného používateľa je výhodné pre správu databázy a oprávnení.
Počas inštalácie PostgreSQL vytvorí vyhradeného používateľa postgres. Má oprávnenie vykonávať akékoľvek administratívne úlohy v PostgreSQL. Pristúpte k postgres účtu:
|
1 |
sudo su – postgres |
Mali by ste sa ocitnúť v novej relácii shellu pod používateľom postgres. Potom otvorte shell PostgreSQL:
|
1 |
psql |
Teraz vytvoríme vyhradenú databázu pre našu aplikáciu Django. Odporúča sa dať jej názov zhodný s aplikáciou Django:
|
1 |
CREATE DATABASE <database_name>; |
Ďalej vytvoríme vyhradeného databázového používateľa. Tohto používateľa budeme používať na prístup k databáze vyhradenej pre Django:
|
1 |
CREATE USER <username> WITH PASSWORD '<password>'; |
Ďalším krokom je úprava niekoľkých parametrov pripojenia pre nového používateľa. Pomáha to urýchliť databázové operácie, pretože nebude potrebné dopytovať hodnoty pri každom nadviazaní pripojenia. Spustite nasledujúce príkazy:
|
1 2 3 |
ALTER ROLE <username> SET client_encoding TO 'utf8'; ALTER ROLE <username> SET default_transaction_isolation TO 'read committed'; ALTER ROLE <username> SET timezone TO '<timezone>'; |
Poďme si tieto príkazy rýchlo rozobrať:
-
Nastavujeme predvolené kódovanie na UTF-8. To je to, čo Django očakáva pri interakcii s databázami.
-
Predvolená schéma transakcií je nastavená na „read committed“, takže čítania z nepotvrdených transakcií sú blokované.
-
Časové pásmo by malo byť nastavené podľa polohy.
Ak si nie ste istí názvom časového pásma, nasledujúci príkaz zobrazí zoznam všetkých časových pásiem podporovaných PostgreSQL:
|
1 |
SELECT * FROM pg_timezone_names; |
Nakoniec udeľte novému používateľovi úplné oprávnenia k databáze vyhradenej pre Django:
|
1 |
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>; |
Naša práca s PostgreSQL je teraz hotová. Ukončite psql shell and log out of the postgres relácie.
Step 3. Installing Django
Nakonfigurovali sme potrebný databázový server pre našu aplikáciu Django. Teraz nainštalujeme a nakonfigurujeme vyhradenú aplikáciu Django. Hoci je Django priamo k dispozícii z oficiálneho repozitára Ubuntu, neodporúčame použiť túto metódu. Nainštaluje totiž Django v rámci celého systému. Pre lepšiu flexibilitu a jednoduchosť správy namiesto toho nainštalujeme Django vo virtuálnom prostredí. Inštalácia a konfigurácia Django vo virtuálnom prostredí Pythonu je štandardným postupom.
Python má modul virtualenv ktorý vytvára virtuálne prostredie Pythonu v cieľovom umiestnení. Prostredie získa vlastnú kópiu binárnych súborov a konfigurácií Pythonu. Vykonanie zmien vo virtuálnom prostredí nebude mať žiadny vplyv na zvyšok systému.
Nainštalujte virtualenv:
|
1 |
sudo apt install virtualenv |
Ďalej je naším cieľom mať vyhradený adresár na vytvorenie virtuálneho prostredia Pythonu. Poslúži ako základ pre našu aplikáciu Django. Pre ukážku bude názov našej aplikácie sample_app. Vytvorte nový adresár:
|
1 |
mkdir -pv <dir_name> |
Zmeňte aktuálny aktívny adresár a vytvorte virtuálne prostredie:
|
1 2 |
cd sample_app/ virtualenv sample_app_env |
Potom aktivujte virtuálne prostredie:
|
1 |
source sample_app_env/bin/activate |
Virtuálne prostredie je teraz pripravené a funkčné. Potom použijeme pip na inštaláciu Django a psycopg2 (adaptér Pythonu pre PostgreSQL):
|
1 |
pip install django psycopg2 |
Nakoniec môžeme vytvoriť nový projekt Django pomocou nástrojov Django. Vygeneruje podadresár s rovnakým názvom, ktorý bude obsahovať všetky kódy, a riadiaci skript v aktuálnom adresári:
|
1 |
django-admin startproject <project_name> . |
Step 4. Configuring the Django Project
Projekt Django má všetky základné nástroje na to, aby fungoval ako webová aplikácia. Aby sme ho integrovali s našou databázou, budeme musieť vykonať niekoľko úprav v jeho konfiguračných súboroch.
Otvorte súbor settings.py v textovom editore:
|
1 |
nano settings.py |
Prejdite nadol na sekciu DATABASES. V predvolenom nastavení je nakonfigurovaná na používanie SQLite:
Pre náš účel zmeňte kód nasledovne:
|
1 2 3 4 5 6 7 8 9 10 |
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '<db_name>', 'USER': '<db_user>', 'PASSWORD': '<db_user_password>', 'HOST': 'localhost', 'PORT': '', } } |
Tu hovoríme Django, aby použil adaptér psycopg2 na komunikáciu s databázou. Deklarujeme tu tiež všetky potrebné informácie o databáze, ako je názov databázy spolu s používateľským menom a heslom vyhradeného používateľa.
Po dokončení súbor uložte a zatvorte editor.
Step 5. Migrating the Database
Django je nakonfigurovaný na prístup k našej databáze PostgreSQL. Teraz môžeme migrovať dátovú štruktúru do našej databázy. V Django je to známe ako migrácia.
Ak chcete migrovať zmeny v databáze, vyvolajte riadiaci skript manage.py:
|
1 |
python manage.py makemigrations |

|
1 |
python manage.py migrate |
Ďalej vytvorte superpoužívateľa pre našu Django aplikáciu:
|
1 |
python manage.py createsuperuser |
Tento účet superpoužívateľa bude fungovať ako administrátorský účet pre našu Django aplikáciu.
Krok 6. Testovanie zmien
Doteraz sme v našej Django aplikácii vykonali viacero úprav. Je čas skontrolovať, či všetko funguje tak, ako má. Overíme to spustením aplikácie a prístupom do administračného panelu.
Keďže Django aplikáciu vyvíjame lokálne, spustíme server na localhost. Tradične ho spustíme na porte 8000. Ak máte nakonfigurovaný firewall, musí povoliť prevádzku na porte 8000. Prečítajte si viac o základoch UFW tu.
Spustite Django server:
|
1 |
python manage.py runserver localhost:8000 |
Otvorte URL adresu v prehliadači:
|
1 |
http://localhost:8000 |
Mali by ste sa dostať na stránku úspešnej inštalácie Django. Pre prístup na stránku administrácie Django prejdite na nasledujúcu URL adresu:
|
1 |
http://localhost:8000/admin |
Na prihlásenie musíte použiť superpoužívateľa, ktorého sme vytvorili:
Voilà! Úspešne sme sa dostali do administračného panelu!
Keď skončíte s prehliadaním, stlačte Ctrl + C v konzole, aby ste zastavili Django server.
Záverečné myšlienky
V tomto návode sme úspešne demonštrovali vytvorenie ukážkovej Django aplikácie a konfiguráciu PostgreSQL ako jej databázového backendu. Hoci SQLite vo všeobecnosti viac než postačuje na pokrytie potrieb počas vývoja (a nenáročného produkčného použitia), väčšina projektov výrazne získa prechodom na plnohodnotnejší DBMS. PostgreSQL je skvelou voľbou pre výkon a škálovateľnosť.
Django je všestranný webový framework, ktorý dokáže spolupracovať s mnohými technológiami. Pozrite si ďalšie cloudové návody, ktoré demonštrujú použitie Django:
- Nastavenie Django s PostgreSQL, Nginx a Gunicorn na Ubuntu 20.04
- Vytvorenie Django a Gunicorn aplikácie pomocou Dockeru na Ubuntu
- Ako zabezpečiť a škálovať Django aplikáciu pomocou Dockeru, Nginx a Let’s Encrypt
- Vytvorenie Django aplikácie s pripojením k databáze: Návod
Príjemnú prácu s počítačom!






















Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.