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:

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รถรค.
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)
- 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.
