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.

  • 🔘 Framework: Django on korkean tason Python kehys monimutkaisten, tietokantapohjaisten web-sovellusten nopeaan rakentamiseen.
  • ☑️ Archirakenne: Model-view-template (MVT) -mallin avulla Django voi hallita ohjainta ja erottaa datan, logiikan ja esityksen.
  • Mukana paristot: Sisäänrakennetut hallintaominaisuudet, todennus, lomakkeet ja kansainvälistäminen poistavat suurimman osan toistuvasta asennustyöstä.
  • 🛠️ Turvallisuus: Oletusarvoiset suojausmenetelmät estävät CSRF-hyökkäykset, sivustojenväliset komentosarjahyökkäykset, SQL-injektiohyökkäykset ja klikkikaappaushyökkäykset.
  • 🧪 asteikko: Instagram, Pinterest, Mozilla ja Disqus luottavat Djangoon erittäin suuren liikenteen palvelemisessa.
  • 🤖 Tekoäly: Django tarjoaa koneoppimismalleja API-rajapintoina, ja assistentit, kuten GitHub Copilot, nopeuttavat taustakoodausta.

Djangon opetusohjelma aloittelijoille

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

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.

Django ArchiTekniikka: MVC ja MVT

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)
  • Pinterest
  • Instagram
  • 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.

UKK

Django on ensisijaisesti backend-kehityskehys, vaikka sitä usein kuvataankin täyspinoksi, koska sen template-kerros renderöi HTML:ää. Se hallinnoi palvelinpuolen logiikkaa, tietokantoja, reititystä ja tietoturvaa, kun taas templates hoitavat esityksen selaimelle.

Django on paristokäyttöinen, täyden palvelun kehys, jossa on sisäänrakennettu ORM, hallintapaneeli ja todennus. Flask on kevyt mikrokehys, joka pysyy minimaalisena ja luottaa samojen ominaisuuksien laajennuksiin, mikä antaa kehittäjille enemmän manuaalista hallintaa.

Djangon ORM eli objektirelaatiokartoitin antaa sinun määritellä tietokantataulukot seuraavasti: Python luokkia ja kysely niihin Python koodia raakan SQL:n sijaan. Se tukee tietokantoja, kuten PostgreSQL, MySQL, SQLiteja Oracle.

Suorita komento python -m django –version tai avaa Python komentotulkissa ja suorita import django, jota seuraa print(django.get_version()). Molemmat näyttävät asennetun Djangon julkaisunumeron.

Middleware on sarja koukkuja, jotka käsittelevät jokaisen pyynnön ja vastauksen globaalisti. Django käyttää middlewarea istuntoihin, todennukseen, CSRF-suojaukseen ja suojausotsikoihin, jotka kaikki suoritetaan järjestyksessä ennen näkymän suorittamista ja sen jälkeen.

Toimiva tietämys Python ja perusverkkokäsitteiden, kuten HTTP:n, HTML:n ja tietokantojen, tuntemus on välttämätöntä. Olio-ohjelmoinnin ymmärtäminen tekee Djangon mallien ja luokkapohjaisten näkymien oppimisesta paljon helpompaa.

Kyllä. Django tarjoaa usein koneoppimismalleja näkymien tai Djangon REST-kehyksen kautta ja paljastaa ennusteet API-päätepisteinä. Koulutettu malli latautuu kerran käynnistyksen yhteydessä ja palauttaa päättelytulokset verkko- tai mobiiliasiakkaille.

GitHub Copilot ja vastaavat tekoälyavustajat täydentävät automaattisesti Djangon malleja, näkymiä, URL mallit ja testit, ja ne voivat tukea toistuvia mallipohjia. Ne nopeuttavat kehitystä, vaikka luotu koodi tulisi aina tarkistaa turvallisuuden ja oikeellisuuden varmistamiseksi.

Tiivistä tämä viesti seuraavasti: