Django je dobro poznati web okvir koji pojednostavljuje proces stvaranja robusnih, skalabilnih, sigurnih i visokoučinkovitih web aplikacija. To je projekt otvorenog koda napisan u Python. Možete pogledati više detaljnih informacija o Djangu ovdje.
Svaka web aplikacija zahtijeva bazu podataka kao pozadinu za upravljanje podacima. Django podržava različite sustave baza podataka kao pozadinu, na primjer, MySQL, PostgreSQL, SQLite itd. PostgreSQL je moćan objektno-relacijski sustav baza podataka otvorenog koda. Poznat je po svojoj pouzdanosti, skalabilnosti, sigurnosti i robusnom skupu značajki. Možete saznati više o PostgreSQL-u ovdje.
U ovom vodiču, prikazat ćemo integraciju PostgreSQL-a kao pozadine na uzorku Django aplikacije.
Preduvjeti
Rad s Djangom zahtijeva određene konfiguracije sustava.
- Ispravno konfiguriran Ubuntu 21.04 poslužitelj. Saznajte više o postavljanju Ubuntu poslužitelja.
- Python razvojno okruženje. Django je napisan u Pythonu, pa mu je za rad potrebno Python okruženje.
- Instaliran PostgreSQL, jer ćemo ga koristiti kao poslužitelj baze podataka za našu Django aplikaciju. Saznajte više o instaliranju i konfiguriranju PostgreSQL-a na Ubuntuu ovdje.
Ovaj vodič će također prikazati kako koristiti različite Python module i biblioteke koji su potrebni za funkcionalnu Django aplikaciju.
Korak 1. Instaliranje potrebnih komponenti
Da bi naš projekt radio, moramo imati instaliran niz važnih paketa na našem Ubuntu sustavu. Srećom, svi su oni izravno dostupni iz službenih repozitorija paketa za Ubuntu. Ovi paketi uključuju Python komponente i komponente baze podataka (PostgreSQL).
Prvo pokrenite terminal i ažurirajte predmemoriju APT paketa:
|
1 |
sudo apt update |
Zatim instalirajte pakete:
|
1 |
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib |
Korak 2. Priprema baze podataka
PostgreSQL je sada instaliran i spreman za upotrebu. Zatim ćemo stvoriti namjensku bazu podataka i korisnika za našu Django aplikaciju. Imati namjenskog korisnika korisno je za upravljanje bazom podataka i dozvolama.
Tijekom instalacije, PostgreSQL stvara namjenskog korisnika postgres. On ima dopuštenje za obavljanje bilo kojeg administrativnog zadatka na PostgreSQL-u. Pristupite postgres računu:
|
1 |
sudo su – postgres |
Trebali biste se naći u novoj sesiji ljuske pod korisnikom postgres. Zatim otvorite PostgreSQL ljusku:
|
1 |
psql |
Sada ćemo stvoriti namjensku bazu podataka za našu Django aplikaciju. Preporučuje se dati joj naziv koji odgovara Django aplikaciji:
|
1 |
CREATE DATABASE <database_name>; |
Zatim ćemo stvoriti namjenskog korisnika baze podataka. Koristit ćemo ovog korisnika za pristup bazi podataka namijenjenoj Djangu:
|
1 |
CREATE USER <username> WITH PASSWORD '<password>'; |
Sljedeći korak je prilagodba nekoliko parametara veze za novog korisnika. To pomaže ubrzati operacije baze podataka jer neće zahtijevati upite o vrijednostima svaki put kada se uspostavi veza. Pokrenite sljedeće naredbe:
|
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>'; |
Pogledajmo ukratko ove naredbe:
-
Postavljamo zadano kodiranje na UTF-8. To je ono što Django očekuje pri interakciji s bazama podataka.
-
Zadana shema transakcija postavljena je na „read committed”, tako da su čitanja iz neizvršenih transakcija blokirana.
-
Vremenska zona trebala bi biti postavljena prema lokaciji.
Ako niste sigurni u naziv vremenske zone, sljedeća naredba će izlistati sve vremenske zone koje podržava PostgreSQL:
|
1 |
SELECT * FROM pg_timezone_names; |
Na kraju, dodijelite novom korisniku sve ovlasti na bazi podataka namijenjenoj za Django:
|
1 |
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>; |
Naš rad s PostgreSQL-om je sada završen. Izađite iz psql ljuske i odjavite se iz postgres sesije.
Korak 3. Instalacija Djanga
Konfigurirali smo potreban poslužitelj baze podataka za našu Django aplikaciju. Sada ćemo instalirati i konfigurirati namjensku Django aplikaciju. Iako je Django izravno dostupan iz službenog Ubuntu repozitorija, ne preporučujemo korištenje ove metode. Ona će instalirati Django na razini cijelog sustava. Za bolju fleksibilnost i lakše upravljanje, umjesto toga ćemo instalirati Django u virtualno okruženje. Standardna je praksa instalirati i konfigurirati Django unutar virtualnog Python okruženja.
Python ima modul virtualenv koji stvara virtualno Python okruženje na ciljnoj lokaciji. Okruženje dobiva svoju kopiju Python binarnih datoteka i konfiguracija. Unošenje izmjena unutar virtualnog okruženja neće imati utjecaja na ostatak sustava.
Instalirajte virtualenv:
|
1 |
sudo apt install virtualenv |
Zatim, naš cilj je imati namjenski direktorij za uspostavu Python virtualnog okruženja. On će služiti kao temelj za našu Django aplikaciju. Za potrebe demonstracije, naziv naše aplikacije bit će sample_app. Stvorite novi direktorij:
|
1 |
mkdir -pv <dir_name> |
Promijenite trenutni aktivni direktorij i uspostavite virtualno okruženje:
|
1 2 |
cd sample_app/ virtualenv sample_app_env |
Nakon toga aktivirajte virtualno okruženje:
|
1 |
source sample_app_env/bin/activate |
Virtualno okruženje je sada spremno i funkcionalno. Zatim ćemo koristiti pip za instalaciju Djanga i psycopg2 (Python adapter za PostgreSQL):
|
1 |
pip install django psycopg2 |
Na kraju, možemo stvoriti novi Django projekt pomoću Django alata. To će generirati poddirektorij istog naziva koji sadrži sav kod i skriptu za upravljanje u trenutnom direktoriju:
|
1 |
django-admin startproject <project_name> . |
Korak 4. Konfiguriranje Django projekta
Django projekt ima sve osnovne alate za funkcioniranje kao web aplikacija. Kako bismo ga integrirali s našom bazom podataka, morat ćemo napraviti neke izmjene u njegovim konfiguracijskim datotekama.
Otvorite datoteku settings.py u uređivaču teksta:
|
1 |
nano settings.py |
Pomaknite se dolje do odjeljka DATABASES . Prema zadanim postavkama, konfiguriran je za korištenje SQLite:
Za našu svrhu, promijenite kod na sljedeći način:
|
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': '', } } |
Ovdje govorimo Djangu da koristi psycopg2 adapter za komunikaciju s bazom podataka. Također deklariramo sve potrebne informacije o bazi podataka, poput naziva baze podataka zajedno s korisničkim imenom i lozinkom namjenskog korisnika.
Kada završite, spremite datoteku i zatvorite uređivač.
Korak 5. Migracija baze podataka
Django je konfiguriran za pristup našoj PostgreSQL bazi podataka. Sada možemo migrirati strukturu podataka u našu bazu podataka. U Djangu je to poznato kao migracija.
Za migraciju promjena baze podataka, pokrenite upravljačku skriptu manage.py:
|
1 |
python manage.py makemigrations |

|
1 |
python manage.py migrate |
Zatim kreirajte superkorisnika za našu Django aplikaciju:
|
1 |
python manage.py createsuperuser |
Ovaj račun superkorisnika služit će kao administratorski račun za našu Django aplikaciju.
Korak 6. Testiranje promjena
Do sada smo napravili više izmjena na našoj Django aplikaciji. Vrijeme je da provjerimo radi li sve kako je predviđeno. To ćemo potvrditi pokretanjem aplikacije i pristupanjem administratorskoj ploči.
Budući da lokalno razvijamo Django aplikaciju, pokrenut ćemo poslužitelj na localhost. Tradicionalno, pokrenut ćemo ga na portu 8000. Ako imate konfiguriran vatrozid, on mora dopustiti promet prema portu 8000. Saznajte više o osnovama UFW-a ovdje.
Pokrenite Django poslužitelj:
|
1 |
python manage.py runserver localhost:8000 |
Pristupite URL-u u pregledniku:
|
1 |
http://localhost:8000 |
Trebali biste dospjeti na stranicu o uspješnoj instalaciji Djanga. Za pristup Django administratorskoj stranici idite na sljedeći URL:
|
1 |
http://localhost:8000/admin |
Za prijavu morate koristiti superkorisnika kojeg smo kreirali:
Voila! Uspješno smo dospjeli na administratorsku ploču!
Nakon što završite s istraživanjem, pritisnite Ctrl + C u konzoli kako biste zaustavili Django poslužitelj.
Završne misli
U ovom smo vodiču uspješno prikazali uspostavljanje uzorka Django aplikacije i konfiguriranje PostgreSQL-a kao njezine baze podataka. Iako je SQLite općenito više nego dovoljan za zadovoljavanje potreba tijekom razvoja (i lagane produkcijske upotrebe), većina projekata imat će velike koristi od prelaska na napredniji DBMS. PostgreSQL je izvrstan izbor za performanse i skalabilnost.
Django je svestran web okvir koji može raditi s brojnim tehnologijama. Pogledajte još vodiča za oblak koji prikazuju korištenje Djanga:
- Postavljanje Djanga s PostgreSQL-om, Nginxom i Gunicornom na Ubuntu 20.04
- Izgradnja Django i Gunicorn aplikacije s Dockerom na Ubuntuu
- Kako osigurati i skalirati Django aplikaciju s Dockerom, Nginxom i Let’s Encryptom
- Stvaranje Django aplikacije s vezom na bazu podataka: Vodič
Sretno programiranje!






















Komentari
Još nema komentara. Budite prvi.