Programiranje

Šta je Django i kako ga koristiti maksimalno za razvoj aplikacija?

Django je slobodna aplikativna platforma (framework) otvorenog koda pisana u Python programskom jeziku.
Django platforma sadrži veliki broj komponenti koje olakšavaju razvijanje sajtova i aplikacija na brži i lakši način.

Kada razvijamo aplikaciju ili sajt, skoro su nam uvek potrebne iste komponente.
U to spada i način kako da napravimo određene delove autentifikacije korisnika, na primer login i logout, odnosno administratorski panel ili upload slika, forme i drugo…

Srećom, neki ljudi su davno ustanovili da skoro svi Veb programeri imaju sličan problem u razvijanju Veb sajtova, pa su na osnovu takvih zaključaka i napravili aplikativne platforme (Django između ostalih) na kojima će biti već gotove komponente.

Platforme služe da ne izmišljamo ponovo toplu vodu, već da nam pomognu kako bismo brže i efikasnije završavali svoje aplikacije i sajtove.

Šta zapravo Django radi?

Pokušaćemo u ovom delu da objasnimo šta radi Django, kao i osnovne informacije o platformi. Dobro bi bilo da pročitate tekst do kraja, kako biste razumeli njegove osnovne karakteristike, a na kraju teksta smo postavili linkove odakle možete da krenete u Django avanturu.

Kako biste razumeli šta Django radi i koju korist možete imati od njega, pogledaćemo prvo izbliza šta server radi.

Prvo što mora da znamo, jeste da je server tu da nam služi, odnosno da posluži našu novu Veb stranicu.

Zamislite poštansko sanduče (port) koje nadlgeda dolazak pisama (zahtevi “requests”)

To vam je najblaže rečeno Veb server.

Veb server čita napisana i pristigla pisma, a nakon toga šalje odgovor u vidu Veb stranice.
Ali, kada hoćete nešto da pošaljete, morate imati neki tekst ili sliku na toj stranici, zato je Django tu da vam pomogne kako da kreirate i napravite svoj sadržaj, kako bi ga server pročitao i prikazao.

Šta se dešava kada neko zahteva Veb sajt s vašeg servera?

Dakle, kada zahtev dođe do servera, prolazi ka Djangu koji pokušava da reši koji je zapravo zahtev bio.
Zatim preuzima Veb stranicu i pokušava da uradi dalje korake.
Ovaj deo se zove Djangov “urlsolver” (adresa u pretraživaču “browser-u” se naziva URL – Uniform Resource Locator – tako da urlsolver opravdava svoje ime.

Idemo dalje, nakon toga, Django proverava uzorke (patterns-e) od početka pa sve do kraja, odnosno odozgo na dole i ukoliko se nešto poklopi, Django šalje zahtev funkciji koja se zove “view” ili pregled.

Da vidimo kako radi “urlresolver”.

Zamislite poštara koji ide niz ulicu i nosi pisma.
Tako hodajući proverava svaki broj na kući za svako pismo.
Ukoliko se slaže broj kuće napisan na pismu, on ostavlja u sanduče i ide dalje.
Na ovakav način radi i urlsolver.

Kroz funkciju “view” (koju ćete videti kada preuzmete Django) vidimo da sve stvari funkcionišu, ali treba da vidimo šta kaže baza podataka.
Možda korisnik hoće da izmeni neke podatke? Recimo ono pomenuto pismo kaže “Molim vas ako možete da izmenite opis mog posla”.
Pregled, odnosno “view” funkcija može to da izmeni, ali samo u slučaju ako joj damo dozvolu, a nakon toga se opis posla menja i povratna poruka glasi “završeno“.

Tada “view” generiše odgovor (response) i Django to može da pošalje u korisnički pretraživač, odnosno “browser” .
Naravno, ove primere smo uzeli da pojednostavimo stvari, ali u radu sa Djangom nema potrebe da znate sve ove “tehnikalije” s obzirom da kada uđete u rad sa Djangom, sve postaje jasnije.
Najbitnije je da imate generalnu ideju kako Django radi.

Šta sve može sa Djangom i Pythonom.

Da vidimo šta sve možemo sa Djangom i zašto bismo ga uopšte koristili.

Django nije samo obična platforma, već s njim možemo da pravimo, ne samo sajtove, već mnogo ozbiljnije Veb aplikacije.

Pomoću Djanga možete da pravite Veb aplikacije unutar vašeg sajta.
Što znači da vam olakšava rad sa različitim nivoima aplikativnog i uopšte Veb razvoja.

Tako možete na vašem sajtu da imate posebne “kategorije” odnosno potpuno odvojene aplikacije, kao na primer, video, muzika, biblioteke, sadržaj itd..
Istovremeno sve te aplikacije mogu biti sa ogromnim brojem informacija i potpuno nezavisni modeli jedan od drugoga.

Django nije samo običan “framework”

Veb aplikacije možete da unosite direktno u Python, a da biste razvili Veb aplikaciju potrebno vam je sledeće:

WSGI  “Web Server Gateway Interface” je standardni interfejs između servera i Python Veb aplikacije, odnosno platforme za prikazivanje prenosivosti Veb aplikacije na različitim serverima.

– Usmeravanje: potrebno je da usmerite dolazeći HTTP zahtev pravim klasama, odnosno super klasama “request henlder-a”, a pod time se misli na kod koji će obraditi određeni zahtev.
Tako, na primer, www.nekisajt.com/index , gde će index biti usmeren ka određenom Python kodu koji će ga obraditi, može da bude i prikazivanje liste.

SQL interfejs: možete da koristite i druge NoSql baze podataka, ali za većinu aplikacija SQL baza podataka služi svrsi. Dakle, treba vam interfejs za te baze podataka.

Šablon: Da biste napravili dinamičke stranice trebaju vam podaci šablona koji će omasoviti HMTL stranicu podacima koje ste poslali iz Python funkcija.

Dakle, Django je kolekcija svih ovih biblioteka i mnogih drugih stvari, tako da možete da se koncentrišete na to šta vaša aplikacija radi i kako da je razvijete.

Takođe, ima i biblioteka sa strane koje možete uključiti u svoj Django projekat kako biste olakšali svoj zadatak.

Šta možete sa Djangom?

Sa Djangom, vašu Veb aplikaciju možete da dovedete od koncepta do pokretanja u samo nekoliko sati.
Django će se postarati o razvoju vaših Veb aplikacija, kako biste se vi fokusirali na pisanje aplikacije, bez da morate  ponovo da izmišljate točak.

Osnovne karakteristike Django platforme

Veoma je brz
Django je dizajniran da pomogne programerima da koncept aplikacije završe što je pre moguće.

Opremljen
Django sadrži desetine dodataka koje možete da koristite u radu sa uobičajenim Veb zadacima.
Django se stara o autentičnosti, administraciji, mapama, RSS fidovima i mnogim drugim.

Ne brinite o bezbednosti
Django se smatra veoma ozbiljno kada je reč o bezbednosti i pomaže programerima da izbegnu uobičajene sigurnosne propuste i greške, koje se odnose na (SQL injection, Cross-site scripting ili ClickJacking).
Ovakve vrste napada su veoma teško izvodljive na sajtove, odnosno aplikacije koje su rađene u Django-Python distribuciji.

Njegova korisnička provera sistema pruža sigurnost vezanu za naloge i lozinke.

Izuzetno je prilagodljiv
Neki od najposećenijih sajtova na svetu koriste Django mogućnosti da brzo i fleksibilno reše i najteža pitanja vezanih za protok i brzinu..

Potpuno svestran
Kompanije, organizacije i pojedine Vlade koriste Django za izradu mnogih stvari – od upravljanja sadržajima u sistemima, preko društvenih mreža, pa sve do naučnih računarskih platformi.

Preuzimanje Django Girls platforme

Krenimo sada da radimo sa Djangom. Odlična uputsva za sve instalacije, Linux, Windows i Mac, sve je uključeno u dokumentaciju.

Potrebno je da preuzmete Django, zatim instalacija Pythona, povezivanje na server i krećete u Django avanturu! Na sledećim linkovima je sve ovo lepo objašnjeno.

Da iskoristimo priliku i da predstavimo i DjangoGirls platformu za koju mislimo da će ohrabriti i naše devojke koje bi volele da se bave programiranjem ili koje se već bave programiranjem.

Šta je Django i kako ga koristiti maksimalno za razvoj aplikacija?U navedenim tutorijalima ćete imati potpuno sve, dakle od instalacije, pa sve do kreiranja Veb aplikacija.
Ono što možemo da vam posavetujemo, jeste da pažljivo slušate, čitate i gledate, s obzirom na to da su tutorijali prilično vezani.

Django tutorial

Ukoliko ste početnik ovi linkovi će vam poslužiti da potpuno razumete kako platofrma radi.

Naš predlog je da prvo pokrenete prvi link, a zatim nakon 8-9 strana koje budete prešli u tutorijalu, krenete na video tutorijal. Tako ćete shvatiti ceo koncept Django platforme. Naravno sve vreme kombinujte učenje, jer ćete tako više modela uraditi.

U svakom slučaju ukoliko budete radili u kombinaciji čitanje – video, bićete iznenađeni kako brzo napredujete u radu sa Django platformom.

Preuzmite sledeće linkove :

Tutorial – instalacija i programiranje u Pythonu.

Video tutorijal za početnike

Video tutorijal

Zvanični sajt

Srećno kodiranje!

Ako mislite da je ovaj tekst od koristi slobodno ga možete podeliti sa prijateljima.

 

Napišite komentar