Django vodič za početnike: značajke, Architekstura i povijest
Sažetak Django vodiča
Ovaj Django vodič pokriva sve osnovne teme od nule. U ovom ćete vodiču naučiti koncepte kao što su što je Django, povijest Djanga, značajke Djanga, karakteristike okvira Django, komponenta Djanga, prednosti i nedostaci i još mnogo toga.
Prije nego naučimo Django, shvatimo:
Što je web okvir?
Web okvir je biblioteka koda koja vam pomaže izgraditi fleksibilan, skalabilan i održiv; dinamičko web mjesto, web aplikacija i web usluge. Različiti web okviri su Zend za PHP, Ruby na tračnicama za Ruby itd.
Što je Django?
Django je okvir za web razvoj za Python koji nudi standardne metode za brz i učinkovit razvoj web stranice. Primarni cilj ovog web okvira visoke razine je stvaranje složenih web stranica vođenih bazama podataka. Pomaže vam u izradi i održavanju kvalitetnih web aplikacija. Omogućuje vam da proces razvoja učinite glatkim i uštedite vrijeme za brzi razvoj.
Zašto Django? Ključne prednosti Djanga
Evo glavnih prednosti Djanga:
- Django je jednostavan za postavljanje i pokretanje. Nudi razne mogućnosti za početak
- Pruža korisničko sučelje spremno za korištenje za administrativne aktivnosti
- Omogućuje višejezične web stranice koristeći svoj ugrađeni sustav internacionalizacije
- Pomaže vam da brzo odgovorite na zahtjeve velikog prometa
- Django se koristi za izgradnju svih vrsta sustava za upravljanje sadržajem, društvenih mreža kao i znanstvenih računalnih platformi.
- Django vam pomaže u pružanju end-to-end testiranja aplikacija
- Pomaže vam dokumentirati svoj API s HTML izlazom
- REST Framework ima bogatu podršku za nekoliko protokola provjere autentičnosti
- Dopuštenja i politika ograničavanja
- Široko se koristi za API zahtjeve za ograničenje brzine od jednog korisnika.
Povijest Djanga
Godina | Prekretnica |
---|---|
2003 | Projekt su započeli Adian Holovaty i Simon Willison kao interni projekt u novinama Lawrence Journal-World |
srpanj 2005 | Izdan je u srpnju 2005. kao "Django", nazvan po jazz gitaristu Djangu Reinhardu |
lipnja 2008 | Izjavio da je Django softver Foundation (DSF) bi održavao Django. |
Srpanj 29 2009 | Izdana je verzija Django 1.1 sa značajkama kao što su agregati, testovi temeljeni na transakcijama. |
17 svibnja 2010 | Objavljena je verzija Django 1.2. Ažuriranje je ponudilo značajke kao što su više baza podataka, implementacija pozadine e-pošte i poboljšanja za sesije i kolačić napravljena su u ovoj verziji. |
Ožujak 23 2011 | Uvedena je verzija 1.3 sa značajkama kao što su pogledi temeljeni na klasi, statične datoteke |
Ožujak 23 2012 | Lansirana verzija 1.4 s novim značajkama kao što su vremenske zone i testiranje u pregledniku |
Veljače 26 2013 | 1.5 verzija dolazi s Python 3 Podrška, konfigurabilne značajke korisničkog modela. |
Studenog 6 2013 | Verzija 1.6 dolazi s upravljanjem DB transakcijama, značajkama skupljanja veza. |
2 rujna 2014 | Verzija 1.7 imala je nove značajke kao što su učitavanje aplikacija, migracije i konfiguracija |
1 travnja 2015 | izvorna podrška osigurana za više pokretača predložaka. |
1 prosinac 2015 | U verziji 1.9 uvedena je značajka automatske provjere valjanosti lozinke. |
Kolovoz 1 2016 | U verziji 1.10 pretraživanje cijelog teksta PostgreSQL pokrenula. |
4 travnja 2017 | Verzija 1.11 postaje zadnja podržana verzija Python 2.7 |
2 prosinac 2017 | verzija 2.0 postaje prva verzija izdanja samo za python 3. |
Kolovoz 1 2018 | verzija 2.1 dolazi sa značajkom podrške za dopuštenje za prikaz modela. |
2021 | Uklonjena podrška za Django 3.0 i dodana podrška za Django 3.2 |
Sada u ovom vodiču za Django za početnike, naučimo o značajkama Djanga.
Značajke Djanga
Ispod su značajke Djanga:
- Pomaže vam definirati uzorke za URL-ove u vašoj aplikaciji
- Jednostavan, ali moćan URL sustav
- Ugrađeni sustav provjere autentičnosti
- Objektno orijentirana baza podataka programskog jezika koja nudi najbolju pohranu i dohvaćanje podataka u klasi
- Značajka automatskog administratorskog sučelja omogućuje funkcionalnost dodavanja, uređivanja i brisanja stavki. Administratorsku ploču možete prilagoditi svojim potrebama.
- Okvir predmemorije dolazi s više mehanizama predmemorije.
U ovom vodiču za Django framework naučit ćemo o karakteristikama Djanga.
Karakteristike Djanga
Evo glavnih karakteristika Djanga:
- Loosely Coupled - Django vam pomaže da svaki element svog skupa učinite neovisnim o ostalima.
- Less kod- Osigurava učinkovit razvoj
- Ne ponavlja se - Sve treba razviti na točno jednom mjestu umjesto da se ponavlja
- Brz razvoj - Django nudi brz i pouzdan razvoj aplikacija.
- Dosljedan dizajn - Django održava čist dizajn i olakšava praćenje najboljih praksi web razvoja.
Zatim ćemo u ovom Django vodiču za početnike učiti o arhitekturi Djanga.
Django Architekstura: MVC i MVT
Ispod je detaljna arhitektura Djanga:
MVC obrazac
Kada govorimo o aplikacijama koje pružaju UI (web ili desktop), obično govorimo o MVC arhitekturi. MVC obrazac temelji se na modelu, prikazu i kontroleru.
The Model definira strukturu podataka i brine se za postavljanje upita bazi podataka.
The Pogled definira koji podaci trebaju biti predstavljeni i vraća HTTP odgovor.
The kontrolor je onaj dio aplikacije koji upravlja interakcijom korisnika.
Django MVC-MVT uzorak
Model-View-Template (MVT) drugačiji je koncept u usporedbi s MVC-om. Glavna razlika između ova dva arhitektonska obrasca je u tome što sam Django upravlja dijelom Controller (softverski kod koji kontrolira interakcije između Modela i Viewa). Predložak je HTML datoteka koja se miješa s Django Template Language datotekom koja se također naziva DTL.
Donji dijagram pokazuje kako sve komponente MVT obrasca međusobno djeluju kako bi služile specifično za korisnički zahtjev.
Kao što se vidi na gornjem dijagramu, korisnik traži resurs za Django. Django djeluje kao kontroler i provjerava dostupni resurs u URL-u.
Ako se URL mapira, poziva se pogled koji je u interakciji s modelom i predloškom. Django tada odgovara korisniku i šalje predložak kao odgovor.
Sada ćemo u ovoj seriji Django tutorijala za početnike učiti o komponentama Djanga.
Komponente Djanga
Oblik
Django ima snažnu biblioteku obrazaca koja rukuje iscrtavanjem obrazaca kao HTML-a. Knjižnica pomaže u potvrđivanju dostavljenih podataka i njihovom pretvaranju u Python vrste.
Ovjera
Obrađuje korisničke račune, grupe, korisničke sesije temeljene na kolačićima itd.
Admin
Čita metapodatke u vašim modelima kako bi pružio robusno sučelje koje se može koristiti za upravljanje sadržajem na vašoj stranici.
internacionalizam
Django pruža podršku za prevođenje teksta na različite jezike, oblikovanje datuma, vremena, brojeva i vremenskih zona specifično za lokalizaciju.
Sigurnost
Django pruža zaštitu od sljedećih napada:
- Krivotvorenje zahtjeva na različitim mjestima (CSRF)
- Skriptiranje na više mjesta
- SQL injekcija
- Jahanje klikova
- Daljinsko izvršavanje koda
Poznate tvrtke koje koriste Django
Ovdje su tvrtke koje koriste Django:
- BitBucket
- DISQUS
- NASA
- PBS (Public Broadcasting Service)
- Mozilla
- Washington Post
- NY Times
- LA Times
- The Guardian National Geographic
- Discovery Channel
Nedostaci korištenja Djanga
- Proces ne može obraditi više zahtjeva istovremeno.
- Django je vrlo monolitan alat.
- Komponente se postavljaju zajedno što može stvoriti zabunu.
- Poznavanje cijelog sustava potrebnog za rad na Djangu
- Čini komponente web aplikacije čvrsto povezanima
- Morate dugo programirati za manje zadatke.
rezime
- Django je okvir za web razvoj Python koji nudi standardnu metodu za brz i učinkovit razvoj web stranice.
- Django su započeli Adian Holovaty i Simon Willison kao interni projekt u novinama Lawrence Journal-World 2003.
- Django vam pomaže da dokumentirate svoj API s HTML izlazom.
- Django vam omogućuje da prilagodite administrativnu ploču prema vašim potrebama.
- Django vam pomaže da svaki element njegovog hrpa učinite neovisnim o ostalima.
- Glavna razlika između MVC i MVT arhitektonskih obrazaca je u tome što Django sam upravlja dijelom kontrolera.
- Bitne komponente Djangove arhitekture su: obrazac, autentifikacija, administrator, internacionalizacija, sigurnost.
- Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla itd. koriste Django
- Najveća mana Djanga je što ne može obraditi više zahtjeva istovremeno.