Django õpetus: funktsioonid, ArchiTektuur ja ajalugu

⚡ Nutikas kokkuvõte

Django on tasuta ja avatud lähtekoodiga Python Model-View-Template mustrile üles ehitatud veebiraamistik, mis võimaldab turvaliste, skaleeritavate ja andmebaasipõhiste veebisaitide kiiret arendamist korduvkasutatavate komponentide, automaatse administreerimisliidese ja patareidega disaini abil.

  • 🔘 Raamistik: Django on kõrgetasemeline Python raamistik keerukate, andmebaasipõhiste veebirakenduste kiireks loomiseks.
  • ☑️ ArchiStruktuur: Model-view-template (MVT) muster võimaldab Djangol hallata kontrollerit ning eraldada andmed, loogika ja esitluse.
  • Kaasas patareid: Sisseehitatud administreerimis-, autentimis-, vormi- ja rahvusvahelistusfunktsioonid eemaldavad enamiku korduvast seadistamistööst.
  • 🛠️ Turvalisus: Vaikimisi kaitsemeetmed blokeerivad CSRF-i, saidiülese skriptimise, SQL-süstimise ja klikkide kaaperdamise rünnakud.
  • 🧪 Skaala: Instagram, Pinterest, Mozilla ja Disqus toetuvad väga suure liikluse teenindamiseks Djangole.
  • 🤖 ON: Django pakub masinõppemudeleid API-dena ja assistendid nagu GitHub Copilot kiirendavad taustsüsteemi kodeerimist.

Django õpetus algajatele

Django haldab mõningaid veebis suurimaid saite, hoides samal ajalping igapäevane arendus kiire ja organiseeritud. Enne selle funktsioonide, arhitektuuri ja ajaloo uurimist alustavad allolevad osad veebiraamistike põhitõdede ja Django erilisuse tutvustamisega.

Django õpetuse kokkuvõte

See Django õpetus hõlmab kõiki põhiteemasid nullist. Selles õpetuses õpid selliseid kontseptsioone nagu mis on Django, selle ajalugu, funktsioonid, Django raamistiku omadused, Django komponendid, eelised ja puudused ning palju muud.

Enne Django õppimist uurime lähemalt:

Mis on veebiraamistik?

Veebiraamistik on kooditeek, mis aitab teil luua paindliku, skaleeritava ja hooldatava dünaamilise veebisaidi, veebirakenduse või veebiteenuse. Erinevate veebiraamistike hulka kuuluvad Zend PHP jaoks, Ruby on Rails Ruby ja teiste jaoks.

Mis on Django?

Django on veebiarendusraamistik Python mis pakub standardmeetodeid kiireks ja tõhusaks veebiarenduseks. Selle kõrgetasemelise veebiraamistiku peamine eesmärk on luua keerukaid andmebaasipõhiseid veebisaite. See aitab teil luua ja hallata kvaliteetseid veebirakendusi. See võimaldab teil muuta arendusprotsessi sujuvaks ja ajasäästlikuks kiireks arendamiseks.

Miks Django? Django peamised eelised

Siin on Django peamised eelised:

  • Django seadistamine ja käitamine on lihtne. See pakub alustamiseks mitmesuguseid võimalusi.
  • See pakub haldustegevuste jaoks kasutusvalmis kasutajaliidest.
  • See võimaldab mitmekeelseid veebisaite oma sisseehitatud rahvusvahelistumise süsteemi abil.
  • See aitab teil kiiresti rahuldada suuri liiklusvajadusi.
  • Django't kasutatakse igasuguste sisuhaldussüsteemide, sotsiaalvõrgustike ja teaduslike arvutusplatvormide loomiseks.
  • Django aitab teil pakkuda rakenduste otsast lõpuni testimist.
  • See aitab teil oma API-t HTML-väljundiga dokumenteerida.
  • REST-raamistikul on rikkalik tugi mitmele autentimisprotokollile.
  • See pakub õigusi ja piiramispoliitikaid.
  • Seda kasutatakse laialdaselt ühe kasutaja API päringute kiiruse piiramiseks.

Django ajalugu

Tootmisaasta Teetähis
2003 Projekti algatasid Adrian Holovaty ja Simon Willison ajalehe Lawrence Journal-World siseprojektina.
juuli 2005 See ilmus 2005. aasta juulis pealkirjaga „Django”, mis sai nime džässkitarristi Django Reinhardti järgi.
juuni 2008 Kuulutati, et Django tarkvara Foundation (DSF) säilitaks Django.
29 juuli 2009 Django 1.1 ilmus selliste funktsioonidega nagu agregaadid ja tehingupõhised testid.
17 mai 2010 Django 1.2 ilmus. Värskendus pakkus funktsioone, nagu mitu andmebaasi ja e-posti taustsüsteem, ning täiustusi tehti seansside ja küpsiste osas.
Mar 23 2011 Versioonis 1.3 tutvustati selliseid funktsioone nagu klassipõhised vaated ja staatilised failid.
Mar 23 2012 Versioon 1.4 käivitati uute funktsioonidega, nagu ajavööndid ja brauserisisene testimine.
26 veebruar 2013 1.5 versiooniga oli kaasas Python 3 tugi- ja konfigureeritavat kasutajamudeli funktsiooni.
6 2013 november Versioonil 1.6 olid andmebaasi tehingute haldamise ja ühenduste koondamise funktsioonid.
2 september 2014 Versioonil 1.7 olid uued funktsioonid, nagu rakenduste laadimine, migreerimine ja konfigureerimine.
1 aprill 2015 Mitme mallimootori jaoks pakuti natiivset tuge.
1 dets. 2015 Versioonis 1.9 võeti kasutusele automaatse parooli valideerimise funktsioon.
August 1 2016 Versioonis 1.10 on täistekstiotsing PostgreSQL käivitati.
4 aprill 2017 Versioon 1.11 oli viimane versioon, mis toetas Python 2.7.
2 dets. 2017 Versioon 2.0 sai esimeseks Python Ainult 3-kordse väljalaskega versioon.
August 1 2018 Versioonil 2.1 olid mudeli „vaata” loa tugifunktsioonid.
2021 Django 3.0 tugi eemaldati ja lisati Django 3.2 tugi.

Nüüd selles Django algajatele mõeldud õpetuses tutvume Django funktsioonidega.

Django omadused

Allpool on Django funktsioonid:

  • Aitab teil mustreid määratleda URLs teie taotluses.
  • Lihtne, aga võimas URL süsteemi.
  • Sisseehitatud autentimissüsteem.
  • Objektorienteeritud programmeerimiskeele andmebaas, mis pakub parimat andmete salvestamist ja otsimist.
  • Automaatse administreerimisliidese funktsioon võimaldab elemente lisada, muuta ja kustutada. Saate administreerimispaneeli vastavalt oma vajadustele kohandada.
  • Vahemälu raamistikul on mitu vahemälu mehhanismi.

Selles Django raamistiku õpetuses tutvume Django omadustega.

Django omadused

Siin on Django peamised omadused:

  • Lõdvalt ühendatud – Django aitab teil oma pinu iga elemendi teistest sõltumatuks muuta.
  • Less kood – Tagab efektiivse arengu.
  • Ei ole korduv – Kõik tuleks välja töötada täpselt ühes kohas, selle asemel, et seda uuesti korrata.
  • Kiire areng – Django pakub kiiret ja usaldusväärset rakenduste arendust.
  • Järjepidev disain – Djangol on puhas disain ja see teeb parimate veebiarendustavade järgimise lihtsaks.

Järgmisena selles Django algajatele mõeldud õpetuses õpime tundma Django arhitektuuri.

Django Architektuur: MVC ja MVT

Allpool on Django üksikasjalik arhitektuur:

Django Architektuur

Django Architektuur

MVC muster

Kasutajaliidest pakkuvatest rakendustest (veebi- või töölauarakendustest) rääkides räägime tavaliselt MVC arhitektuurist. MVC muster põhineb mudelil (Model), vaatel (View) ja kontrolleril (Controller).

. MUDEL määratleb andmestruktuuri ja hoolitseb andmebaasi päringute eest.

. vaade määrab, millised andmed tuleks esitada, ja tagastab HTTP-vastuse.

. kontroller on rakenduse osa, mis tegeleb kasutaja interaktsiooniga.

Django MVC-MVT muster

Model-View-Template (MVT) on MVC-st erinev kontseptsioon. Nende kahe arhitektuurimustri peamine erinevus seisneb selles, et Django ise haldab kontrolleri osa (tarkvarakoodi, mis kontrollib mudeli ja vaate vahelist interaktsiooni). Mall on HTML-fail, mis on segatud Django mallikeele failiga, mida nimetatakse ka DTL-iks.

Allolev diagramm näitab, kuidas kõik MVT-mustri komponendid omavahel suhtlevad, et teenindada konkreetset kasutaja päringut.

Django Architektuur: MVC ja MVT

MVT laiendus Architektuur

Nagu ülaltoodud diagrammil näha, taotleb kasutaja Djangolt ressurssi. Django toimib kontrollerina ja kontrollib saadaolevat ressurssi. URL.

Kui URL Kaartide puhul nimetatakse vaadet, mis suhtleb mudeli ja malliga. Seejärel vastab Django kasutajale ja saadab vastuseks malli.

Selles Django õpetuste algajatele sarjas õpime nüüd tundma Django komponente.

Django komponendid

vorm

Djangol on võimas vormiteek, mis käsitleb vormide renderdamist HTML-ina. Teek aitab esitatud andmeid valideerida ja nendeks teisendada Python Tüübid.

Autentimine

See haldab kasutajakontosid, gruppe, küpsistel põhinevaid kasutajaseansse ja palju muud.

admin

See loeb teie mudelite metaandmeid, et pakkuda tugevat liidest, mida saab kasutada teie saidi sisu haldamiseks.

Rahvusvahelistumine

Django pakub tuge teksti tõlkimiseks erinevatesse keeltesse ning kuupäevade, kellaaegade, numbrite ja ajavööndite lokaalipõhiseks vormindamiseks.

TURVALISUS

Django pakub kaitset järgmiste rünnakute vastu:

  • Saidiülene päringu võltsimine (CSRF)
  • Saididevaheline skriptimine
  • SQL süstimine
  • Clickjacking
  • Koodi kaugkäivitamine

Djangot kasutavad kuulsad ettevõtted

Siin on ettevõtted, mis kasutavad Django't:

  • Bitbucket
  • Disqus
  • NASA
  • PBS (avalik-õigusliku ringhäälingu teenus)
  • Pinterest
  • Instagram
  • Mozilla
  • The Washington Post
  • The New York Times
  • Los Angeles Times
  • Eestkostja
  • National Geographic
  • Discovery Channel

Django kasutamise puudused

Siin on mõned Django kasutamise puudused:

  • Üks protsess ei saa korraga mitut päringut käsitleda.
  • Django on väga monoliitne tööriist.
  • Komponendid paigutatakse koos, mis võib tekitada segadust.
  • Djangoga töötamiseks on vaja kogu süsteemi tundmist.
  • See muudab veebirakenduse komponendid tihedalt seotuks.
  • Väikeste ülesannete jaoks peate tegema pika programmeerimise.

KKK

Django on peamiselt taustraamistik, kuigi seda kirjeldatakse sageli täisversioonina, kuna selle mallikiht renderdab HTML-i. See haldab serveripoolset loogikat, andmebaase, marsruutimist ja turvalisust, samal ajal kui mallid tegelevad brauseri esitusega.

Django on patareidega töötav täisfunktsionaalne raamistik sisseehitatud ORM-i, administraatoripaneeli ja autentimisega. Flask on kerge mikroraamistik, mis on minimalistlik ja tugineb samade funktsioonide laiendustele, andes arendajatele rohkem käsitsi kontrolli.

Django ORM ehk objektide relatsiooniline kaardistaja võimaldab teil andmebaasi tabeleid defineerida järgmiselt: Python klassid ja päringud nende kohta Python koodi asemel toores SQL. See toetab andmebaase, näiteks PostgreSQL, MySQL, SQLiteja Oracle.

Käivita käsurealt käsk python -m django –version või ava Python shelli ja käivitage import django, millele järgneb print(django.get_version()). Mõlemad kuvavad installitud Django väljalaskenumbri.

Vahevara on konksude jada, mis töötleb iga päringut ja vastust globaalselt. Django kasutab vahevara seansside, autentimise, CSRF-kaitse ja turvapäiste jaoks, millest igaüks töötab järjekorras enne ja pärast teie vaate käivitamist.

Tööalane teadmine Python ja vajalikud on veebipõhiste kontseptsioonide, näiteks HTTP, HTML ja andmebaaside tundmine. Objektorienteeritud programmeerimise mõistmine muudab Django mudelite ja klassipõhiste vaadete õppimise palju lihtsamaks.

Jah. Django pakub masinõppemudeleid sageli vaadete või Django REST Frameworki kaudu, avaldades ennustusi API lõpp-punktidena. Treenitud mudel laaditakse käivitamisel üks kord ja tagastab järelduste tulemused veebi- või mobiiliklientidele.

GitHub Copilot ja sarnased tehisintellekti assistendid täidavad automaatselt Django mudeleid, vaateid, URL mustrid ja testid ning võivad toestada korduvaid mallipõhiseid meetodeid. Need kiirendavad arendust, kuigi genereeritud koodi tuleks alati turvalisuse ja õigsuse osas üle vaadata.

Võta see postitus kokku järgmiselt: