Django je moćan, otvorenog koda, Python-temeljen web-okvir koji pojednostavljuje proces stvaranja i upravljanja web-stranicama i web-aplikacijama. Django aplikacije su skalabilne, visokih performansi i sigurne. Također dolazi s jako dobrom dokumentacijom za svaki pojedini dio okvira.
In our seriji o Djangu, istraživali smo Django implementacijom ogledne web-stranice s osnovnim značajkama bloga. U ovom vodiču proći ćemo kroz korake stvaranja oglednog prikaza za našu Django aplikaciju.
Preduvjeti
Kako biste pratili ovaj vodič, trebat će vam sljedeće komponente.
- Jedan Ubuntu poslužitelj s ispravnim konfiguracijama. Saznajte više o postavljanju Ubuntu poslužitelja.
- Ispravno konfigurirano Python razvojno okruženje.
- Poslužitelj baze podataka, na primjer, MySQL. Ovaj vodič detaljno opisuje instalaciju i konfiguraciju MySQL-a na Ubuntu poslužitelju.
Ovaj vodič je nastavak naše serije o Djangu. Prvo će biti korisno pogledati prethodne vodiče o postavljanju Djanga, uspostavljanju veze s Django bazom podataka, stvaranju modela, i omogućavanju Django administratorskog sučelja.
U ovom vodiču prikazat ćemo kako stvoriti Django prikaze koji će omogućiti web-aplikaciji da ispravno obrađuje web-zahtjeve i vraća odgovarajući odgovor. Kao što je opisano u službenoj dokumentaciji Djanga, web-odgovor može biti HTML sadržaj web-stranice, preusmjeravanje ili HTTP pogreška. Ne postoji fiksno mjesto za pohranu funkcija prikaza sve dok su unutar Python putanja. Međutim, postoje popularne konvencije za imenovanje i smještaj datoteka. Ovaj vodič će slijediti te konvencije.
Korak 1. Aktiviranje virtualnog okruženja
Django najbolje radi unutar Python virtualnog okruženja. Naša Django aplikacija sample_app je uspostavljena unutar namjenskog virtualnog okruženja. Prvo aktivirajte virtualno okruženje:
|
1 2 3 |
cd sample_app/ . sample_app_env/bin/activate |
Korak 2. Stvaranje funkcija prikaza
Idite u naš random_app direktorij koji sadrži modele za našu web-stranicu bloga:
|
1 |
cd random_app/ |
Ovdje će datoteka views.py sadržavati kodove potrebne za stvaranje naših prikaza. Otvorite je u uređivaču teksta:
|
1 |
nano views.py |

Trebamo render() funkciju iz django.shortcuts biblioteke, pa prva linija ostaje ista. Funkcija render() funkcija pomaže kombinirati i predložak i kontekst koji će se vratiti kao ispravan HttpResponse objekt.
Prvi prikaz će poželjeti dobrodošlicu korisnicima koji dođu na početnu stranicu. Morat ćemo uvesti funkciju HttpResponse() iz Django biblioteke http:
|
1 2 3 4 5 6 7 8 |
from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse(Došli ste na stranicu dobrodošlicepage') def individual_post(request): return HttpResponse('Pojedinačne objave će se pojaviti ovdje') |

Spremite datoteku i zatvorite uređivač.
Korak 3. Mapiranje URL-ova u prikaze
Trenutno ne postoji URL dodijeljen ovim funkcijama, pa su nedostupne. Moramo dodati još jedan blok urlpatterns unutar URL konfiguracijske datoteke. U Pythonu se to naziva URLconf (URL konfiguracijskom) datotekom.
Django mora odrediti korijenski URLconf modul koji će koristiti. Zatim će pogledati u urlpatterns koji sadrži sve URL uzorke u strukturi popisa. Django zatim prolazi kroz datoteku dok ne pronađe prvo podudaranje. Kada pronađe podudaranje, Django će potražiti s njim povezani prikaz. Ova funkcija prikaza primit će podatke povezane s URL uzorkom i HttpRequest objekt. Pogreška u bilo kojem trenutku ovog procesa preusmjerit će ga na prikaz za rukovanje pogreškama.
Otvorite datoteku urls.py od random_app u uređivaču teksta:
|
1 |
nano urls.py |
Unesite sljedeći kod:
|
1 2 3 4 5 6 7 |
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('post/', views.individual_post, name='individual_post') ] |

Spremite datoteku i zatvorite uređivač.
Kada to učinite, morat ćemo također uključiti putanju URL datoteke pod sample_app direktorija URLconf. U suprotnom je naša Django aplikacija neće prepoznati. To je zato što je URLconf od sample_app postavljen kao ROOT_URLCONF u datoteci postavki.
Idite u direktorij naše aplikacije sample_app:
|
1 |
cd sample_app/sample_app/sample_app/ |
![]()
Otvorite datoteku urls.py u uređivaču teksta:
|
1 |
nano urls.py |

Unesite sljedeći kod u datoteku:
|
1 2 3 4 5 6 7 |
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('random_app.urls')) ] |

Testirajmo naše promjene. Pokrenite poslužitelj Django aplikacije na localhost:8000:
|
1 |
python manage.py runserver localhost:8000 |

Idite na URL:
|
1 |
localhost:8000 |

Provjerite URL za objavu:
|
1 |
localhost:8000/posts |
Korak 4. Stvaranje objave na blogu
Uspostavili smo svoje URL obrasce i istražili njihov tijek rada. Vrijeme je da dodamo ogledni blog i vidimo rezultat.
Iz administratorske ploče idite na random_app stranicu:
|
1 |
localhost:8000/admin/random_app/ |

Kliknite poveznicu +Add iz retka Posts :

Na novoj web-stranici prikazat će se obrazac koji se sastoji od sljedećih polja.
- Naslov: Naslov objave na blogu.
- Slug: Odnosi se na dio važeće web-adrese s ključnim riječima čitljivim ljudima. Općenito se slugovi stvaraju na temelju naslova objave.
- Sadržaj: Tijelo objave na blogu.
- Autor: Odgovarajuće korisničko ime.
Kliknite SAVE kako biste poslali objavu:

Korak 5. Prikazivanje podataka u bazi podataka
U ovom sljedećem odjeljku radit ćemo s našom bazom podataka. Prijavite se u MySQL kao namjenski korisnik za Django:
|
1 |
mysql -u sample_app_user -p |

Provjerimo je li naša objava uspješno registrirana u bazi podataka:
|
1 |
USE sample_app_data; |

|
1 |
SELECT * FROM random_app_post; |

Voila! Objava je uspješno registrirana! Sada možete izaći iz MySQL ljuske.
Korak 6. Dodatna podešavanja prikaza
Postoji još nekoliko stvari koje možemo učiniti s našim prikazima. Otvorite datoteku u uređivaču teksta:
|
1 |
nano views.py |
Kod bi trebao izgledati ovako:
|
1 2 3 4 5 6 7 8 9 10 |
from django.shortcuts import render from django.http import HttpResponse from .models import Post def index(request): return HttpResponse('Hello, welcome to the index page.') def individual_post(request): recent_post = Post.objects.get(id__exact=1) return HttpResponse(recent_post.title + ': ' + recent_post.content) |

Ovdje smo dodali dodatnu import naredbu za Post. Niz pod navodnicima iz HttpResponse također je zamijenjen podacima iz naše objave na blogu. Za referenciranje podataka koristimo ID objave na blogu s povezanim objektom. ID se pohranjuje u varijablu recent_post. Sada možemo izdvojiti određena polja objekta dodavanjem polja s točkom kao separatorom.
Nakon što to promijenite, provjerimo promjene. Pokrenite Django poslužitelj:
|
1 |
python manage.py runserver localhost:8000 |

Sada pristupite Posts stranici:
|
1 |
localhost:8000/posts |

Trebala bi prikazati objavu na blogu koju smo izradili.
Korak 7. Izlazak iz projekta
Za izlazak iz Django poslužitelja, pritisnite Ctrl + C u terminalu. Za deaktivaciju Python virtualnog okruženja, pokrenite sljedeću naredbu:
|
1 |
deactivate |
Završne misli
U ovom smo vodiču uspješno prikazali stvaranje pogleda, mapiranje URL uzoraka i prikazivanje tekstova na web stranici iz baze podataka random_app u Django.To su temeljni koncepti Djanga koje je potrebno razumjeti i savladati.
Evo dodatnih resursa koji će vam pomoći u stvaranju i upravljanju Django aplikacijama:
- Stvaranje Django aplikacije s vezom na bazu podataka: Vodič
- Izgradnja Django i Gunicorn aplikacije s Dockerom na Ubuntuu
- Kako osigurati i skalirati Django aplikaciju s Dockerom, Nginxom i Let’s Encryptom
Sretno kodiranje!

Komentari
Još nema komentara. Budite prvi.