Django-opastus aloittelijoille: Ominaisuudet, Architecture & History

Django opetusohjelman yhteenveto

Tรคmรค Django-opetusohjelma kattaa kaikki perusasiat alusta alkaen. Tรคssรค opetusohjelmassa opit kรคsitteitรค, kuten mikรค on Django, Djangon historia, Djangon ominaisuudet, Django-kehyksen ominaisuudet, Djangon komponentit, edut ja haitat ja paljon muuta.
Ennen kuin opit Djangoa, ymmรคrrรคmme:

Mikรค on Web Framework?

Verkkokehys on koodikirjasto, jonka avulla voit rakentaa joustavan, skaalautuvan ja yllรคpidettรคvรคn; dynaaminen verkkosivusto, verkkosovellus ja verkkopalvelut. Eri web-kehykset ovat Zend for PHP, Ruby on Rails Rubylle jne.

Mikรค on Django?

Django on web-kehityskehys Python joka tarjoaa vakiomenetelmiรค nopeaan ja tehokkaaseen verkkosivustojen kehittรคmiseen. Tรคmรคn korkean tason verkkokehyksen ensisijainen tavoite on luoda monimutkaisia โ€‹โ€‹tietokantapohjaisia โ€‹โ€‹verkkosivustoja. Se auttaa sinua rakentamaan ja yllรคpitรคmรครคn laadukkaita verkkosovelluksia. Sen avulla voit tehdรค kehitysprosessista sujuvaa ja aikaa sรครคstรคvรครค nopeaa kehitystรค varten.

Miksi Django? Djangon tรคrkeimmรคt edut

Tรคssรค ovat Djangon tรคrkeimmรคt edut:

  • Django on helppo asentaa ja kรคyttรครค. Se tarjoaa useita vaihtoehtoja aloittaaksesi
  • Se tarjoaa kรคyttรถvalmiin kรคyttรถliittymรคn hallinnollisiin toimiin
  • Se mahdollistaa monikieliset verkkosivustot kรคyttรคmรคllรค sisรครคnrakennettua kansainvรคlistymisjรคrjestelmรครค
  • Auttaa sinua vastaamaan suuriin liikennevaatimuksiin nopeasti
  • Djangoa kรคytetรครคn kaikenlaisten sisรคllรถnhallintajรคrjestelmien, sosiaalisten verkostojen sekรค tieteellisten laskenta-alustojen rakentamiseen.
  • Django auttaa sinua tarjoamaan sovellustestauksen pรครคstรค pรครคhรคn
  • Auttaa dokumentoimaan API:si HTML-ulostulolla
  • REST Framework tukee useita todennusprotokollia
  • Luvat ja rajoituskรคytรคnnรถt
  • Sitรค kรคytetรครคn laajalti nopeuden rajoittamiseen yhdeltรค kรคyttรคjรคltรค tuleviin API-pyyntรถihin.

Djangon historia

Vuosi Virstanpylvรคs
2003 Adian Holovaty ja Simon Willison aloittivat projektin Lawrence Journal-World -sanomalehden sisรคisenรค projektina.
heinรคkuu 2005 Se julkaistiin heinรคkuussa 2005 nimellรค "Django", joka on nimetty jazzkitaristi Django Reinhardin mukaan.
kesรคkuu 2008 Ilmoitti, ettรค Django-ohjelmisto Foundation (DSF) yllรคpitรคisi Djangoa.
29 heinรคkuu 2009 Django 1.1 -versio julkaistiin ominaisuuksilla, kuten Aggregates, tapahtumapohjaiset testit.
17 toukokuuta 2010 Django 1.2 -versio julkaistiin. Pรคivitys tarjosi ominaisuuksia, kuten useita tietokantoja, sรคhkรถpostin taustajรคrjestelmรคn kรคyttรถรถnottoa ja parannuksia istuntoihin ja evรคsteisiin on tehty tรคhรคn versioon.
23 2011 ti 1.3-versio, jossa on ominaisuuksia, kuten luokkapohjaiset nรคkymรคt, staattiset tiedostot esiteltiin
23 2012 ti 1.4-versio julkaistiin uusilla ominaisuuksilla, kuten aikavyรถhykkeillรค ja selaimen sisรคisellรค testauksella
26 Helmikuu 2013 Mukana tulee 1.5 versio Python 3 Tuki, konfiguroitavissa olevat kรคyttรคjรคmallin ominaisuudet.
6 marraskuu 2013 1.6-version mukana tulee DB-tapahtumien hallinta, yhteyden yhdistรคmisominaisuudet.
2 syyskuu 2014 1.7-versiossa oli uusia ominaisuuksia, kuten sovellusten lataus, siirrot ja konfigurointi
1 Huhtikuu 2015 natiivi tuki useille mallikoneille.
1 joulukuu 2015 1.9-versiossa otettiin kรคyttรถรถn automaattinen salasanan vahvistusominaisuus.
Elokuu 1 2016 1.10-versiossa tรคystekstihaku PostgreSQL kรคynnistettiin.
4 Huhtikuu 2017 1.11-versiosta tulee viimeinen tuettu versio Python 2.7
2 joulukuu 2017 versiosta 2.0 tulee ensimmรคinen python 3 -julkaisuversio.
Elokuu 1 2018 versio 2.1 sisรคltรครค mallin "nรคkymรค"-lupatukiominaisuuden.
2021 Django 3.0 -tuki poistettu ja Django 3.2 -tuki lisรคtty

Nyt tรคssรค Django aloittelijoille -opetusohjelmassa opitaan Djangon ominaisuuksista.

Djangon ominaisuudet

Alla on Djangon ominaisuudet:

  • Auttaa sinua mรครคrittรคmรครคn malleja sovelluksesi URL-osoitteille
  • Yksinkertainen mutta tehokas URL-jรคrjestelmรค
  • Sisรครคnrakennettu todennusjรคrjestelmรค
  • Olio-ohjelmointikielitietokanta, joka tarjoaa luokkansa parhaan tiedon tallennuksen ja haun
  • Automaattinen jรคrjestelmรคnvalvojan kรคyttรถliittymรค mahdollistaa kohteiden lisรครคmisen, muokkaamisen ja poistamisen. Voit muokata hallintapaneelia tarpeidesi mukaan.
  • Vรคlimuistikehyksessรค on useita vรคlimuistimekanismeja.

Nyt tรคssรค Django-kehysopetusohjelmassa opimme Djangon ominaisuuksista.

Djangon ominaisuudet

Tรคssรค ovat Djangon tรคrkeimmรคt ominaisuudet:

  • Loosely Coupled- Django auttaa sinua tekemรครคn pinon jokaisesta elementistรค riippumattoman muista.
  • Less koodi- varmistaa tehokkaan kehityksen
  • Ei toisteta โ€“ Kaikki tulee kehittรครค tรคsmรคlleen yhdessรค paikassa sen sijaan, ettรค toistetaan sitรค uudelleen
  • Nopea kehitys โ€“ Django's tarjoaa nopean ja luotettavan sovelluskehityksen.
  • Johdonmukainen suunnittelu โ€“ Django yllรคpitรครค puhdasta suunnittelua ja helpottaa parhaiden verkkokehityskรคytรคntรถjen noudattamista.

Seuraavaksi tรคssรค Djangon aloittelija-opetusohjelmassa opimme Djangon arkkitehtuurista.

Django ArchiTekniikka: MVC ja MVT

Alla on yksityiskohtainen Djangon arkkitehtuuri:

Django Archirakenne
Django Archirakenne

MVC malli

Kun puhutaan sovelluksista, jotka tarjoavat kรคyttรถliittymรคn (web tai tyรถpรถytรค), puhumme yleensรค MVC-arkkitehtuurista. MVC-kuvio perustuu malliin, nรคkymรครคn ja ohjaimeen.

Malli mรครคrittelee tietorakenteen ja huolehtii tietokannan kyselyistรค.

Nรคytรค mรครคrittรครค, mitรค tietoja tulee esittรครค ja palauttaa HTTP-vastauksen.

ohjain on se sovelluksen osa, joka kรคsittelee kรคyttรคjรคn vuorovaikutusta.

Django MVC-MVT -kuvio

Model-View-Template (MVT) on erilainen konsepti kuin MVC. Suurin ero nรคiden kahden arkkitehtuurimallin vรคlillรค on, ettรค Django itse hallitsee Controller-osaa (ohjelmistokoodi, joka ohjaa mallin ja nรคkymรคn vรคlistรค vuorovaikutusta). Malli on HTML-tiedosto, joka on sekoitettu Django Template Language -tiedoston kanssa, jota kutsutaan myรถs nimellรค DTL.

Alla oleva kaavio nรคyttรครค, kuinka kaikki MVT-kuvion komponentit ovat vuorovaikutuksessa toistensa kanssa palvellakseen kรคyttรคjรคn pyyntรถรค.

Django ArchiTekniikka: MVC ja MVT

MVT Archirakenne

Kuten yllรค olevasta kaaviosta nรคkyy, kรคyttรคjรค pyytรครค resurssia Djangolle. Django toimii ohjaimena ja tarkistaa kรคytettรคvissรค olevat resurssit URL-osoitteessa.

Jos URL-osoite kartoitetaan, kutsutaan nรคkymรครค, joka on vuorovaikutuksessa mallin ja mallin kanssa. Django vastaa sitten kรคyttรคjรคlle ja lรคhettรครค vastauksena mallin.

Nyt tรคssรค Django-opetusohjelmassa aloittelijoille opimme Djangon komponenteista.

Djangon komponentit

muoto

Djangossa on tehokas lomakekirjasto, joka kรคsittelee lomakkeiden hahmontamista HTML-muodossa. Kirjasto auttaa validoimaan lรคhetetyt tiedot ja muuntamaan ne Python tyypit.

Authentication

Se kรคsittelee kรคyttรคjรคtilejรค, ryhmiรค, evรคstepohjaisia โ€‹โ€‹kรคyttรคjรคistuntoja jne.

admin

Se lukee malleissasi olevat metatiedot tarjotakseen vankan kรคyttรถliittymรคn, jota voidaan kรคyttรครค sivustosi sisรคllรถn hallintaan.

kansainvรคlistyminen

Django tukee tekstin kรครคntรคmistรค eri kielille, pรคivรคmรครคrien, kellonaikojen, numeroiden ja aikavyรถhykkeiden kielikohtaista muotoilua.

Turvallisuus

Django tarjoaa suojan seuraavia hyรถkkรคyksiรค vastaan:

  • Sivustojen vรคlinen vรครคrentรคmispyyntรถ (CSRF)
  • Cross-site scripting
  • SQL-injektio
  • clickjacking
  • Etรคkoodin suorittaminen

Djangoa kรคyttรคvรคt kuuluisat yritykset

Tรคssรค ovat yritykset, jotka kรคyttรคvรคt Djangoa:

  • BitBucket
  • DISQUS
  • NASA
  • PBS (julkinen yleisradiopalvelu)
  • Pinterest
  • Instagram
  • mozilla
  • Washington Post
  • NY Times
  • LA Times
  • The Guardian National Geographic
  • Discovery Channel

Djangon kรคytรถn haitat

  • Prosessi ei voi kรคsitellรค useita pyyntรถjรค samanaikaisesti.
  • Django on hyvin monoliittinen tyรถkalu.
  • Komponentit otetaan kรคyttรถรถn yhdessรค, mikรค voi aiheuttaa sekaannusta.
  • Djangon tyรถskentelyyn tarvitaan koko jรคrjestelmรคn tuntemus
  • Tekee verkkosovelluskomponenteista tiiviisti kytkettyjรค
  • Pieniรค tehtรคviรค varten sinun on tehtรคvรค pitkรค ohjelmointi.

Yhteenveto

  • Django on web-kehityskehys Python joka tarjoaa vakiomenetelmรคn nopeaan ja tehokkaaseen verkkosivustojen kehittรคmiseen.
  • Djangon aloittivat Adian Holovaty ja Simon Willison sisรคisenรค projektina Lawrence Journal-World -sanomalehden vuonna 2003
  • Django auttaa sinua dokumentoimaan API:si HTML-ulostulolla.
  • Django antaa sinun muokata hallintapaneelia tarpeidesi mukaan.
  • Django auttaa sinua tekemรครคn pinon jokaisesta elementistรค riippumattoman muista.
  • Suurin ero MVC- ja MVT-arkkitehtuurimallien vรคlillรค on, ettรค Django itse hallitsee Controller-osaa.
  • Djangon arkkitehtuurin olennaiset osat ovat: muoto, todennus, jรคrjestelmรคnvalvoja, kansainvรคlistyminen, turvallisuus.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla jne. kรคyttรคvรคt Djangoa
  • Djangon suurin haittapuoli on, ettรค se ei pysty kรคsittelemรครคn useita pyyntรถjรค samanaikaisesti.

Tiivistรค tรคmรค viesti seuraavasti: