Djangon opastusohjelma: Ominaisuudet, Architecture & History
โก รlykรคs yhteenveto
Django on ilmainen, avoimen lรคhdekoodin Python model-view-template-mallille rakennettu verkkokehys, joka mahdollistaa turvallisten, skaalautuvien ja tietokantapohjaisten verkkosivustojen nopean kehittรคmisen uudelleenkรคytettรคvien komponenttien, automaattisen hallintakรคyttรถliittymรคn ja paristokรคyttรถisen suunnittelun avulla.

Django pyรถrittรครค joitakin verkon suurimmista sivustoista samalla kun seping jokapรคivรคistรค kehitystรค nopeaa ja jรคrjestelmรคllistรค. Ennen kuin tutustumme sen ominaisuuksiin, arkkitehtuuriin ja historiaan, alla olevat osiot alkavat web-kehysten perusteilla ja sillรค, mikรค tekee Djangon ainutlaatuiseksi.
Django opetusohjelman yhteenveto
Tรคmรค Djangon tutoriaali kattaa kaikki perusaiheet alusta alkaen. Tรคssรค tutoriaalissa opit kรคsitteitรค, kuten mitรค Django on, sen historian, ominaisuudet, Django-kehyksen ominaisuudet, Djangon komponentit, sen edut ja haitat sekรค paljon muuta.
Ennen kuin opiskelemme Djangoa, ymmรคrretรครคn:
Mikรค on Web Framework?
Verkkokehys on koodikirjasto, jonka avulla voit rakentaa joustavan, skaalautuvan ja yllรคpidettรคvรคn dynaamisen verkkosivuston, verkkosovelluksen tai verkkopalvelun. Erilaisia โโverkkokehyksiรค ovat Zend for PHP, Ruby on Rails Rubylle ja muille.
Mikรค on Django?
Django on web-kehityskehys Python joka tarjoaa standardimenetelmiรค 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 sujuvan ja aikaa sรครคstรคvรคn nopeaa kehitystรค varten.
Miksi Django? Djangon tรคrkeimmรคt edut
Tรคssรค ovat Djangon tรคrkeimmรคt edut:
- Djangon asentaminen ja kรคyttรถ on helppoa. Se tarjoaa useita vaihtoehtoja aloittamiseen.
- Se tarjoaa kรคyttรถvalmiin kรคyttรถliittymรคn hallinnollisiin aktiviteetteihin.
- Se mahdollistaa monikieliset verkkosivustot sisรครคnrakennetun kansainvรคlistymisjรคrjestelmรคnsรค avulla.
- Se auttaa sinua vastaamaan valtaviin liikennetarpeisiin nopeasti.
- Djangoa kรคytetรครคn kaikenlaisten sisรคllรถnhallintajรคrjestelmien, sosiaalisten verkostojen sekรค tieteellisten laskentaympรคristรถjen rakentamiseen.
- Django auttaa sinua tarjoamaan sovellustestausta kokonaisvaltaisesti.
- Se auttaa sinua dokumentoimaan API:si HTML-tulosteen avulla.
- REST-kehys tukee laajasti useita todennusprotokollia.
- Se tarjoaa kรคyttรถoikeuksia ja rajoituskรคytรคntรถjรค.
- Sitรค kรคytetรครคn laajalti nopeuden rajoittamiseen yhdeltรค kรคyttรคjรคltรค tuleviin API-pyyntรถihin.
Djangon historia
| Vuosi | Virstanpylvรคs |
|---|---|
| 2003 | Adrian Holovaty ja Simon Willison aloittivat projektin sisรคisenรค projektina Lawrence Journal-World -sanomalehdessรค. |
| heinรคkuu 2005 | Se julkaistiin heinรคkuussa 2005 nimellรค โDjangoโ, ja se nimettiin jazzkitaristi Django Reinhardtin mukaan. |
| kesรคkuu 2008 | Django-ohjelmistoksi ilmoitettiin Foundation (DSF) yllรคpitรคisi Djangoa. |
| 29 heinรคkuu 2009 | Django 1.1 julkaistiin ominaisuuksilla, kuten aggregaatit ja tapahtumapohjaiset testit. |
| 17 toukokuuta 2010 | Django 1.2 julkaistiin. Pรคivitys tarjosi ominaisuuksia, kuten useita tietokantoja ja sรคhkรถpostin taustajรคrjestelmรคn, sekรค parannuksia istuntoihin ja evรคsteisiin. |
| 23 2011 ti | Versiossa 1.3 esiteltiin ominaisuuksia, kuten luokkapohjaiset nรคkymรคt ja staattiset tiedostot. |
| 23 2012 ti | Versio 1.4 julkaistiin uusilla ominaisuuksilla, kuten aikavyรถhykkeillรค ja selaimessa tapahtuvalla testauksella. |
| 26 Helmikuu 2013 | 1.5-versiossa oli mukana Python 3 tukea ja konfiguroitavia kรคyttรคjรคmallin ominaisuuksia. |
| 6 marraskuu 2013 | Versiossa 1.6 oli tietokannan tapahtumien hallinta ja yhteyksien yhdistรคmisominaisuudet. |
| 2 syyskuu 2014 | Versiossa 1.7 oli uusia ominaisuuksia, kuten sovellusten lataus, migraatiot ja konfigurointi. |
| 1 Huhtikuu 2015 | Useille mallipohjaisille moottoreille tarjottiin natiivi tuki. |
| 1 joulukuu 2015 | Versiossa 1.9 esiteltiin automaattinen salasanan vahvistustoiminto. |
| Elokuu 1 2016 | Versiossa 1.10 kokotekstihaku haulle PostgreSQL laukaistiin. |
| 4 Huhtikuu 2017 | Versiosta 1.11 tuli viimeinen versio, joka tuki Python 2.7. |
| 2 joulukuu 2017 | Versiosta 2.0 tuli ensimmรคinen Python Vain 3-versio. |
| Elokuu 1 2018 | Versiossa 2.1 oli mallin "katselu"-oikeuksia tukevat ominaisuudet. |
| 2021 | Django 3.0 -tuki poistettu ja Django 3.2 -tuki lisรคtty. |
Tรคssรค Djangon aloittelijoiden opetusohjelmassa tutustumme nyt Djangon ominaisuuksiin.
Djangon ominaisuudet
Alla on Djangon ominaisuudet:
- Auttaa sinua mรครคrittelemรครคn kaavoja URLhakemuksessasi.
- Yksinkertainen mutta tehokas URL jรคrjestelmรครคn.
- Sisรครคnrakennettu todennusjรคrjestelmรค.
- Objektipohjaisella ohjelmointikielellรค toimiva tietokanta, joka tarjoaa luokkansa parhaan tiedon tallennuksen ja haun.
- Automaattinen hallintapaneeli mahdollistaa kohteiden lisรครคmisen, muokkaamisen ja poistamisen. Voit mukauttaa hallintapaneelia tarpeidesi mukaan.
- Vรคlimuistikehys sisรคltรครค useita vรคlimuistimekanismeja.
Tรคssรค Django-kehysopetusohjelmassa tutustumme nyt Djangon ominaisuuksiin.
Djangon ominaisuudet
Tรคssรค ovat Djangon tรคrkeimmรคt ominaisuudet:
- Lรถysรคsti kytketty โ Djangon avulla voit tehdรค pinon jokaisesta elementistรค itsenรคisen muista.
- Less koodi โ Varmistaa tehokkaan kehityksen.
- Ei toistettu โ Kaikki tulisi kehittรครค tรคsmรคlleen yhdessรค paikassa sen sijaan, ettรค sitรค toistettaisiin uudelleen.
- Nopea kehitys โ Django tarjoaa nopeaa ja luotettavaa sovelluskehitystรค.
- Johdonmukainen suunnittelu โ Djangon muotoilu on selkeรค ja sen avulla parhaiden web-kehityskรคytรคntรถjen noudattaminen on helppoa.
Seuraavaksi tรคssรค Djangon aloittelija-opetusohjelmassa opimme Djangon arkkitehtuurista.
Django ArchiTekniikka: MVC ja MVT
Alla on yksityiskohtainen Djangon arkkitehtuuri:
Django Archirakenne
MVC malli
Kun puhutaan sovelluksista, jotka tarjoavat kรคyttรถliittymรคn (verkko- tai tyรถpรถytรคversio), puhutaan yleensรค MVC-arkkitehtuurista. MVC-malli 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 sovelluksen osa, joka kรคsittelee kรคyttรคjรคn vuorovaikutusta.
Django MVC-MVT -kuvio
Model-View-Template (MVT) on eri kรคsite kuin MVC. Nรคiden kahden arkkitehtuurimallin tรคrkein ero on se, ettรค Django itse hallinnoi ohjainosaa (ohjelmistokoodia, joka ohjaa mallin ja nรคkymรคn vรคlistรค vuorovaikutusta). Template on HTML-tiedosto, joka on sekoitettu Djangon Template Language -tiedostoon eli DTL:รครคn.
Alla oleva kaavio nรคyttรครค, kuinka kaikki MVT-kuvion komponentit ovat vuorovaikutuksessa keskenรครคn tietyn kรคyttรคjรคpyynnรถn palvelemiseksi.
MVT Archirakenne
Kuten yllรค olevasta kaaviosta nรคkyy, kรคyttรคjรค pyytรครค resurssia Djangolta. Django toimii ohjaimena ja tarkistaa kรคytettรคvissรค olevan resurssin URL.
Jos URL karttojen yhteydessรค kutsutaan nรคkymรคksi, joka on vuorovaikutuksessa mallin ja mallineen kanssa. Django vastaa sitten kรคyttรคjรคlle ja lรคhettรครค mallineen vastauksena.
Tรคssรค Djangon aloittelijoiden tutoriaalisarjassa opimme nyt 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 ja paljon muuta.
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 sekรค pรคivรคmรครคrien, kellonaikojen, numeroiden ja aikavyรถhykkeiden paikalliskohtaista muotoilua.
Turvallisuus
Django tarjoaa suojauksia 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รค on yrityksiรค, jotka kรคyttรคvรคt Djangoa:
- Bitbucket
- Disqus
- NASA
- PBS (julkinen yleisradiopalvelu)
- mozilla
- Washington Post
- New York Times
- Los Angeles Times
- Guardian
- National Geographic
- Discovery Channel
Djangon kรคytรถn haitat
Tรคssรค on joitakin Djangon kรคytรถn haittoja:
- Yksi prosessi ei voi kรคsitellรค useita pyyntรถjรค samanaikaisesti.
- Django on erittรคin monoliittinen tyรถkalu.
- Komponentit otetaan kรคyttรถรถn yhdessรค, mikรค voi aiheuttaa hรคmmennystรค.
- Djangon parissa tyรถskentelyyn tarvitaan koko jรคrjestelmรคn tuntemus.
- Se tekee verkkosovelluskomponenteista tiiviisti yhteen kytkettyjรค.
- Pieniรค tehtรคviรค varten sinun on tehtรคvรค pitkรค ohjelmointi.


