Django tutorial: Značajke, Architekstura i povijest

⚡ Pametni sažetak

Django je besplatan program otvorenog koda Python web okvir izgrađen na obrascu model-view-template, omogućujući brz razvoj sigurnih, skalabilnih web stranica vođenih bazama podataka putem komponenti za višekratnu upotrebu, automatskog administratorskog sučelja i dizajna s uključenim baterijama.

  • 🔘 Okvir: Django je visokorazinski Python okvir za brzu izgradnju složenih web aplikacija vođenih bazama podataka.
  • ☑️ Architekstura: Uzorak model-view-template (MVT) omogućuje Djangu upravljanje kontrolerom i odvajanje podataka, logike i prezentacije.
  • Baterije uključene: Ugrađena administracija, autentifikacija, obrasci i internacionalizacija uklanjaju većinu repetitivnih radova postavljanja.
  • 🛠️ Sigurnost: Zadane zaštitne mjere blokiraju CSRF, cross-site scripting, SQL injection i clickjacking napade.
  • 🧪 skala: Instagram, Pinterest, Mozilla i Disqus oslanjaju se na Django za posluživanje vrlo velikog prometa.
  • 🤖 IMATI: Django služi modelima strojnog učenja kao API-jima, a asistenti poput GitHub Copilota ubrzavaju backend kodiranje.

Django tutorial za početnike

Django pokreće neke od najvećih web stranica, a istovremeno održavaping svakodnevni razvoj brz i organiziran. Prije istraživanja njegovih značajki, arhitekture i povijesti, odjeljci u nastavku započinju s osnovama web okvira i po čemu se Django razlikuje.

Sažetak Django vodiča

Ovaj Django tutorial pokriva sve osnovne teme od nule. U ovom tutorialu naučit ćete koncepte poput što je Django, njegova povijest, značajke, karakteristike Django frameworka, komponente Djanga, njegove prednosti i nedostatke i još mnogo toga.

Prije nego što naučimo Django, shvatimo:

Što je web okvir?

Web framework je biblioteka koda koja vam pomaže u izgradnji fleksibilne, skalabilne i održive dinamičke web stranice, web aplikacije ili web usluge. Različiti web frameworki uključuju Zend za PHP, Ruby na tračnicama za Ruby i ostale.

Što je Django?

Django je okvir za web razvoj za Python koji nudi standardne metode za brz i učinkovit razvoj web stranica. Primarni cilj ovog visokorazinskog web okvira je stvaranje složenih web stranica vođenih bazama podataka. Pomaže vam u izgradnji i održavanju kvalitetnih web aplikacija. Omogućuje vam da proces razvoja bude gladak i da štedi 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 spremno korisničko sučelje za administrativne aktivnosti.
  • Omogućuje višejezične web stranice korištenjem ugrađenog sustava internacionalizacije.
  • Pomaže vam da brzo zadovoljite ogromne prometne potrebe.
  • Django se koristi za izgradnju svih vrsta sustava za upravljanje sadržajem, društvenih mreža, kao i platformi za znanstveno računanje.
  • Django vam pomaže u pružanju end-to-end testiranja aplikacija.
  • Pomaže vam dokumentirati vaš API pomoću HTML izlaza.
  • REST okvir ima bogatu podršku za nekoliko protokola za autentifikaciju.
  • Nudi dozvole i pravila ograničavanja.
  • Široko se koristi za API zahtjeve za ograničenje brzine od jednog korisnika.

Povijest Djanga

Godina Prekretnica
2003 Projekt su pokrenuli Adrian Holovaty i Simon Willison kao interni projekt u novinama Lawrence Journal-World.
srpanj 2005 Objavljen je u srpnju 2005. pod nazivom "Django", po jazz gitaristu Djangu Reinhardtu.
lipnja 2008 Izjavljeno je da je Django softver Foundation (DSF) bi održavao Django.
Srpanj 29 2009 Django 1.1 je objavljen sa značajkama poput agregata i testova temeljenih na transakcijama.
17 svibnja 2010 Objavljen je Django 1.2. Ažuriranje je nudilo značajke poput više baza podataka i pozadinskog sustava za e-poštu, a napravljena su i poboljšanja za sesije i kolačiće.
Ožujak 23 2011 Verzija 1.3 uvela je značajke poput prikaza temeljenih na klasama i statičkih datoteka.
Ožujak 23 2012 Verzija 1.4 pokrenuta je s novim značajkama poput vremenskih zona i testiranja u pregledniku.
Veljače 26 2013 Verzija 1.5 došla je s Python 3 podrške i konfigurabilne značajke korisničkog modela.
Studenog 6 2013 Verzija 1.6 dolazila je s upravljanjem transakcijama baze podataka i značajkama grupiranja veza.
2 rujna 2014 Verzija 1.7 imala je nove značajke poput učitavanja aplikacija, migracija i konfiguracije.
1 travnja 2015 Za više mehanizama za predloške pružena je izvorna podrška.
1 prosinac 2015 U verziji 1.9 uvedena je značajka automatske provjere lozinke.
Kolovoz 1 2016 U verziji 1.10, pretraživanje cijelog teksta za PostgreSQL lansiran je.
4 travnja 2017 Verzija 1.11 postala je posljednja verzija koja je podržavala Python 2.7.
2 prosinac 2017 Verzija 2.0 postala je prva Python Samo verzija s 3 izdanja.
Kolovoz 1 2018 Verzija 2.1 došla je sa značajkama podrške za dopuštenja "pregled" modela.
2021 Uklonjena je podrška za Django 3.0 i dodana je podrška za Django 3.2.

Sada u ovom Django tutorialu za početnike, saznajmo više o značajkama Djanga.

Značajke Djanga

Ispod su značajke Djanga:

  • Pomaže vam definirati obrasce za URLu vašoj prijavi.
  • Jednostavno, ali moćno URL sustav.
  • Ugrađeni sustav autentifikacije.
  • Objektno orijentirana baza podataka programskog jezika koja nudi najbolju pohranu i dohvaćanje podataka u klasi.
  • Automatsko administratorsko sučelje omogućuje dodavanje, uređivanje i brisanje stavki. Administratorsku ploču možete prilagoditi svojim potrebama.
  • Okvir predmemorije dolazi s više mehanizama predmemorije.

U ovom tutorijalu o Django frameworku, sada ćemo naučiti o karakteristikama Djanga.

Karakteristike Djanga

Evo glavnih karakteristika Djanga:

  • Labavo spojeni – Django vam pomaže da svaki element svog steka učinite neovisnim od ostalih.
  • Less kod – Osigurava učinkovit razvoj.
  • Ne ponavlja se – Sve treba razviti na 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:

Django Architektura

Django Architektura

MVC obrazac

Kada govorimo o aplikacijama koje pružaju korisničko sučelje (web ili desktop), obično govorimo o MVC arhitekturi. MVC obrazac temelji se na Modelu, Viewu i Controlleru.

The Model definira strukturu podataka i brine se za upite bazi podataka.

The Pogled definira koji podaci trebaju biti predstavljeni i vraća HTTP odgovor.

The kontrolor je dio aplikacije koji obrađuje interakciju s korisnikom.

Django MVC-MVT uzorak

Model-View-Template (MVT) je drugačiji 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 je pomiješana s Django Template Language datotekom, koja se naziva i DTL.

Donji dijagram prikazuje kako sve komponente MVT uzorka međusobno djeluju kako bi poslužile određeni korisnički zahtjev.

Django Architekstura: MVC i MVT

MVT proširenje Architektura

Kao što se vidi na gornjem dijagramu, korisnik zahtijeva resurs od Djanga. Django djeluje kao kontroler i provjerava dostupan resurs u URL.

Ako URL mape, poziva se prikaz koji komunicira s modelom i predloškom. Django zatim odgovara korisniku i šalje predložak kao odgovor.

Sada u ovoj seriji Django tutorijala za početnike, učit ćemo 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

Upravlja korisničkim računima, grupama, korisničkim sesijama temeljenim na kolačićima i još mnogo toga.

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 u različite jezike i formatiranje datuma, vremena, brojeva i vremenskih zona specifično za lokalnu konfiguraciju.

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

Evo tvrtki koje koriste Django:

  • Bitbucket
  • Disqus
  • NASA
  • PBS (Public Broadcasting Service)
  • Pinterest
  • Instagram
  • Mozilla
  • Washington Post
  • The New York Times
  • Los Angeles Times
  • Čuvar
  • National Geographic
  • Discovery Channel

Nedostaci korištenja Djanga

Evo nekih nedostataka korištenja Djanga:

  • Jedan proces ne može istovremeno obraditi više zahtjeva.
  • Django je vrlo monolitan alat.
  • Komponente se raspoređuju zajedno, što može stvoriti zbrku.
  • Za rad na Djangu potrebno je poznavanje cijelog sustava.
  • To čini komponente web aplikacije čvrsto povezanima.
  • Morate dugo programirati za manje zadatke.

Pitanja i odgovori

Django je prvenstveno backend framework, iako se često opisuje kao full-stack jer njegov sloj predložaka renderira HTML. Upravlja logikom na strani poslužitelja, bazama podataka, usmjeravanjem i sigurnošću, dok predlošci rješavaju prezentaciju za preglednik.

Django je full-stack framework s ugrađenim ORM-om, administratorskom pločom i autentifikacijom, koji uključuje baterije. Flask je lagani mikroframework koji ostaje minimalan i oslanja se na ekstenzije za iste te značajke, dajući programerima više ručne kontrole.

Django ORM, ili objektno-relacijski maper, omogućuje vam definiranje tablica baze podataka kao Python klase i upitati ih pomoću Python koda umjesto sirovog SQL-a. Podržava baze podataka kao što su PostgreSQL, MySQL, SQLitei Oracle.

Pokrenite python -m django –version u naredbenom retku ili otvorite Python shell i pokrenite import django nakon čega slijedi print(django.get_version()). Oba prikazuju instalirani broj izdanja Djanga.

Middleware je niz hook-ova koji globalno obrađuju svaki zahtjev i odgovor. Django koristi middleware za sesije, autentifikaciju, CSRF zaštitu i sigurnosne zaglavlja, a svaki se izvršava redom prije i nakon izvršavanja vašeg prikaza.

Radno znanje o Python i osnovni web koncepti poput HTTP-a, HTML-a i baza podataka su obavezni. Razumijevanje objektno orijentiranog programiranja znatno olakšava učenje Django modela i prikaza temeljenih na klasama.

Da. Django često poslužuje modele strojnog učenja putem prikaza ili Django REST Frameworka, izlažući predviđanja kao API krajnje točke. Obučeni model se učitava jednom pri pokretanju i vraća rezultate zaključivanja web ili mobilnim klijentima.

GitHub Copilot i slični AI asistenti automatski dovršavaju Django modele, prikaze, URL obrasce i testove te mogu izraditi repetitivne šablone. Ubrzavaju razvoj, iako generirani kod uvijek treba pregledati radi sigurnosti i ispravnosti.

Sažmite ovu objavu uz: