Ako vas zanima web razvoj, Django bi sigurno bio zanimljiv. Django je u osnovi okvir za web razvoj temeljen na Pythonu. Dizajniran je tako da vam uštedi puno vremena i učini web razvoj mnogo jednostavnijim i zabavnijim. Django možete koristiti za izradu i održavanje visokokvalitetnih web aplikacija bez puno žurbe.

Web razvoj sam po sebi spoj je kreativnosti i zabavnih elemenata i gomile ponavljajućih stvari. Ono što Django čini jest omogućava vam da se usredotočite na zabavne bitove i ključni dio vaše web aplikacije, dok ponavljajuće dijelove čini manje gnjavaže. Drugim riječima, on pruža prečac do čestih zadataka programiranja i apstrakcija uobičajenih obrazaca u web razvoju. Također daje jasne konvencije o rješavanju problema. To sve radi, istovremeno vam omogućava slobodu rada izvan okvira okvira kada je to potrebno.

Što je web okvir?

Naravno, prije nego što predstavimo Django, moramo prvo znati što su web-okviri, s obzirom na njihovu važnost u današnjim web aplikacijama. Da bismo razumjeli mrežne okvire, pogledajmo kako Python aplikacija kodira kada ne koristite okvir. Najjednostavniji način da to učinite je pomoću zajedničkog sučelja prolaza (CGI). Trebate samo stvoriti skriptu s HTML izlazom i spremiti skriptu sa. cgi proširenje na web poslužitelj. Za jednostavne stranice vjerojatno je najbolji način pisanja ispočetka. Kôd je jednostavniji za razumijevanje, a nema drugog koda za čitanje. Također je jednostavnije rasporediti.

Unatoč svojoj jednostavnosti, pristup se nalazi s nekoliko izazova. Na primjer, što biste učinili da vam je za povezivanje s bazom podataka potrebno više dijelova vaše aplikacije? Ako idete gore navedenom metodom, morali biste duplicirati kôd za povezivanje baze podataka u svakoj CGI skripti. Ovo ne samo da može biti nezgrapno, već može povećati i šansu da se pojave ljudske pogreške. Međutim, lakša metoda bila bi staviti ovaj kôd u zajedničku funkciju. Kad se kôd ponovno koristi u različitim okruženjima s odvojenom lozinkom i bazom podataka, morat ćete konfigurirati kôd za svako određeno okruženje.

Također, ako nemate mnogo iskustva s Python-om, vjerojatnije je da ćete napraviti manje pogreške koje mogu uzrokovati pad sustava. Logika stranice idealno bi se odvojila od elemenata HTML prikaza, tako da bi uređivač mogao uređivati ​​svaki element bez utjecaja na drugi.

Web okvir rješava ova pitanja formiranjem infrastrukture za programske aplikacije. To vam pomaže da se usredotočite na zapravo pisanje održivijeg i čistijeg koda. To čini i Django.

Model-View-Controller

Django pomno prati obrazac Model-View-Controller (MVC), i to toliko da bi mogao biti gotovo kategoriziran kao MVC-okvir. Ovaj obrazac dijeli modeliranje domena, prezentacije i radnju na temelju korisničkog unosa u tri jedinstvene klase. Da biste ovo bolje razumjeli, pogledajte samo skriptu Python CGI.

Standardna CGI skripta sadrži neke uvodne HTML elemente za prednji kraj, a zatim vezu s bazom podataka. Evo primjera koda veze s bazom podataka u Python CGI:

veza = MySQLdb.connect (korisnik = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Nakon toga imate naredbu izvršenja za pokretanje upita. Zatim imate neki HTML za prikaz rezultata upita u prednjem dijelu. Na kraju, vezu zatvarate jednostavnom linijom:

connection.close ()

S Django imate tri datoteke Python, identificirane s njihovim. py sufiks. Prvi bi bili tablice baze podataka, models.py. Drugi bi sadržavao logiku aplikacije, views.py. I treći bi imao konfiguraciju URL-a, urls.py. Napokon, trebali biste imati nekoliko HTML elemenata koji bi rezultate mogli predstaviti u prednjem dijelu. Razdvajanje različitih Python datoteka ovdje je ključno; ne trebate brinuti o sintaksi.

Datoteka models.py sadrži opis tablice baze podataka. Pomoću ove klase Python možete stvoriti, izbrisati, dohvatiti i ažurirati zapise koristeći jednostavan Python kôd umjesto ponavljanja SQL izraza. Datoteka views.py ima poslovnu logiku, a funkcija Posljednja knjiga () je prikaz. Datoteka urls.py određuje koji se pogled poziva za određeni URL. Na primjer, možete kodirati vlasnički pregled u kojem preglednik učita URL domene / primjer /. To znači da ako je vaša domena abc.com, posjet URL abc.com/example/ bi pozvao ovu funkciju.

HTML predložak opisuje dizajn stranice. Koristi jezik predloška i osnovne logičke izjave. Svi ovi dijelovi slijede MVC obrazac.

MVC je metoda razvoja softvera u tome što je model, koji je kod za pristup i definiranje podataka, odvojen od kontrolera, što je logika usmjeravanja zahtjeva, koja je također odvojena od pogleda, a to je korisničko sučelje. MVC je koristan u tome što su komponente vrlo lagano spojene. Svaki dio web aplikacije ima svoje jedinstvene svrhe i može se samostalno mijenjati, a da ne morate drastično mijenjati ostale dijelove. Na primjer, možete promijeniti URL u bilo kojem dijelu aplikacije i ona bi promijenila implementaciju, a da ne dotaknete Python kod. Možete preimenovati tablicu u bazi podataka i specificirati promjene na jednom mjestu bez zamjene desetaka datoteka.

Preporučeni tečajevi

  • Program na Windows 10
  • Tečaj profesionalnog testiranja softvera
  • Python Programming Bundle
  • Kompletan trening Django

Kratka povijest Djanga

Sada kada znate malo o mrežnim okvirima, vrijeme je da se malo probudite u povijesti Djanga. Saznanje odakle dolazi Django može vam pomoći da bolje shvatite kako to radi i kako upravljati njegovim prečacima. Ako gradite web aplikacije, vjerojatno biste već znali probleme povezane sa CGI. Klasičan put web razvoja ide ovako:

  1. Web aplikaciju pišete iz temelja
  2. Pišete drugu prijavu
  3. Shvaćate da postoji nekoliko zajedničkih elemenata između dvije aplikacije
  4. Kôd refaktorirate tako da aplikacija 1 ima isti kod kao i druga
  5. Ponovite 2-4 nekoliko puta
  6. Shvaćate da ste stvorili okvir

Tako je stvoren i Django. Nastala je iz stvarnih aplikacija koje je napisao tim za razvoj web stranica u Kansasu. Stvorena je 2003. godine, kada su web programeri Adrian Holovaty i Simon Willison počeli koristiti Python za izradu aplikacija.

World Online tim, odgovoran za održavanje i proizvodnju nekoliko lokalnih vijesti, vidio je ogromne koristi u web razvojnom okruženju koje su diktirali rokovi novinarstva. Novinari i uprava za te su web stranice željeli da se dodaju značajke i brzo se razvijaju aplikacije, sa samo nekoliko dana ili sati najave. Dvojica programera tada su formirali okvir za web razvoj radi uštede vremena i izgradnje održivih aplikacija u rokovima.

Tim je potom u ljeto 2005. objavio okvir kao softver otvorenog koda, nazvavši ga Django po Djangu Reinhardtu, vjerojatno jednom od najvećih jazz gitarista svih vremena. Od tada, Django se etablirao kao popularan projekt otvorenog koda s tisućama pristaša, suradnika i korisnika širom svijeta. Dvojica izvornih programera, Jacob i Adrian, još su dali svoje središnje smjernice za rast okvira.

Ali zašto uopće raspravljamo o povijesti Djanga? Pa iz dva razloga. Prvi je da pomaže identificirati i objasniti 'slatku točku' softvera. Django se izvijestio iz okruženja vijesti i zbog toga je prepun značajki koje su najprikladnije za web stranice sa fokusom na sadržaju, poput Washington Posta, Amazona i Craigslista, a nude i dinamične informacije usmjerene na baze podataka. Ipak, Django je dobar i za bilo koju dinamičnu web stranicu. Drugi razlog je taj što vam povijest Djanga pomaže da shvatite kako je oblikovana kultura njene zajednice.

Django je nastao iz koda iz stvarnog svijeta, a ne iz komercijalnog proizvoda ili akademske vježbe. Kao rezultat toga, visoko je usredotočen na rješavanje problema s kojima se suočavaju izvorni web programeri i problema s kojima se trenutačni programeri i dalje suočavaju. To znači da Django vidi gotovo svakodnevna poboljšanja. Ekipa za održavanje okvira ima veliki interes kako bi osigurala da alat štedi vrijeme programeru i proizvodi jednostavno održavane aplikacije, te one koji dobro djeluju u velikim opterećenjima. Svi žele stvarima olakšati sebi, drugim riječima.

Instaliranje Django

Dakle, već bi trebalo biti posve jasno da je Django alat za pojednostavljenje web razvoja. Ali sama instalacija alata može poduzeti nekoliko koraka zbog broja pokretnih dijelova u današnjim okruženjima za web razvoj.

Django je u osnovi Python kôd, pa se pokreće bilo gdje što Python radi, što uključuje i neke mobitele. Pretpostavimo da je instalirate na radnu površinu ili prijenosno računalo ili poslužitelj. Budući da je Django napisan na Python-u, prvo vam je potreban instalacija Pythona. Jezgrani Django okviri s bilo kojom inačicom Pythona od 2.5 nadalje. Ako niste sigurni što odabrati, odaberite najnoviju verziju Pythona jer one imaju jezične značajke i poboljšanja performansi koja bi vam mogla biti korisna.

Ako ste na Macu ili Linuxu, vjerojatno već imate Python na računalu. To možete potvrditi tako da u naredbeni redak upišete naredbeni redak i upišete "python". Trebali biste vidjeti nešto takvo:

Python 3.5.1 (v3.5.1: 37a07cee5969, 6. prosinca 2015., 01:54:25)

(MSC v.1900 64 bitni (AMD64)) na win32

Za više informacija upišite "pomoć", "autorska prava", "krediti" ili "licenca".

>>>

Ako to ne vidite, morate ga preuzeti i instalirati. Jednom instaliran, morate preuzeti i instalirati Django. Možete odabrati između dvije verzije: najnovije službeno izdanje ili najkrvavije izdanje za web razvoj. Ono što odaberete temelji se na onome što želite. Ako želite testiranu, stabilnu verziju, idite na službeno izdanje. Ako želite nešto s najnovijim značajkama i želite pridonijeti zajednici, a možete se nositi s nedostatkom stabilnosti, potražite verziju za web razvoj.

Za početak, najbolje je ići na službeno izdanje. Najnoviji možete pronaći na web mjestu Django Project. Ako imate distribuciju Linuxa s paketom Django, potražite inačicu distributera tako da i vi dobivate sigurnosna ažuriranja.

Postavljanje baze podataka

Jedini preduvjet Djanga je da imate radnu Python instalaciju. Kad to postavite, možete prilično započeti s pisanjem web aplikacije. Međutim, kao što je spomenuto prije, Django je razvijen s naglaskom na web aplikacije usmjerene na bazu podataka. Dakle, izgledi su da ćete razviti web mjesto koje će biti bazirano na bazi podataka. U tom slučaju morate postaviti poslužitelj baze podataka.

Django podržava četiri motora baze podataka: MySQL, Oracle, SQLite 3 i PostgreSQL. Svi motori rade podjednako dobro s većim dijelom s jezgrom. PostgreSQL preporučuje se ako nemate veze s naslijeđenim sustavom i možete odabrati podupirač baze podataka.

Za postavljanje baze podataka, morate sami instalirati i konfigurirati poslužitelj. Svaka baza podataka koju odaberete ima svoj način postavljanja, pa se morate tome obratiti. Drugo, za taj određeni pozadini baze podataka morate instalirati Python biblioteku. Ovo je kôd treće strane za Python za sučelje s bazom podataka.

SQLite se preporučuje ako samo eksperimentirate s Djangom i ne želite instalirati poslužitelj. Ne zahtijeva instalaciju; može samo čitati i pisati podatke u jednu datoteku na vašem sustavu, a podržava je Python 2.5 i novije verzije. Windows malo otežava dobivanje binarnih datoteka pogonitelja baze podataka.

Ako se odlučite za MySQL, potreban vam je MySQL 4.0 ili noviji jer starije verzije ne podržavaju Djangove značajke. Morate instalirati i MySQLdb paket sa stranice Django Project. Ako koristite Linux, sustav za upravljanje paketima vaše distribucije može imati paket nazvan 'mysql-python', 'python-mysqldb' ili 'python-mysql'.

Django radi s verzijama 9i ili novijima Oracle poslužitelja baza podataka. Također morate instalirati knjižnicu cx_Oracle s web mjesta cx-Oracle. Alternativno, Django možete koristiti bez baze podataka u cijelosti, ako ga želite upotrebljavati samo za posluživanje dinamičnih stranica bez upućivanja na bazu podataka. S tim u vezi, neki od alata u Django-u zahtijevaju bazu podataka, a ako ga nemate, prouzročit ćete vam da ih propustite.

Preporučeni članci

Evo nekoliko članaka koji će vam pomoći da saznate više detalja o Python-u i Django-u za web razvoj, pa samo prođite vezu.

  1. Python vs JavaScript - Naučite 11 korisnih razlika
  2. 10 najboljih pitanja o intervjuu za web razvoj koja biste trebali znati
  3. 10 vrsta programiranja Python-a
  4. Python vs Ruby Performance i njihove korisne prednosti
  5. Ključne razlike između Pythona i JavaScript-a
  6. Python vs Go

Kategorija: