Django õpetus algajatele: funktsioonid, ArchiTektuur ja ajalugu

Django õpetuse kokkuvõte

See Django õpetus hõlmab kõiki põhiteemasid nullist. Selles õpetuses saate teada selliseid mõisteid nagu Django, Django ajalugu, Django funktsioonid, Django raamistiku omadused, Django komponent, eelised ja puudused ning palju muud.
Enne Django õppimist mõistame:

Mis on veebiraamistik?

Veebiraamistik on kooditeek, mis aitab teil luua paindlikku, skaleeritavat ja hooldatavat; dünaamiline veebisait, veebirakendus ja veebiteenused. PHP jaoks on Zend erinevad veebiraamistikud, Ruby on Rails Ruby jaoks jne.

Mis on Django?

Django on veebiarendusraamistik Python mis pakub standardseid meetodeid veebisaidi kiireks ja tõhusaks arendamiseks. Selle kõrgetasemelise veebiraamistiku peamine eesmärk on luua keerukaid andmebaasipõhiseid veebisaite. See aitab teil kvaliteetseid veebirakendusi luua ja hooldada. See võimaldab muuta arendusprotsessi sujuvaks ja kiireks arendamiseks aega säästvaks.

Miks Django? Django peamised eelised

Siin on Django peamised eelised:

  • Djangot on lihtne seadistada ja käivitada. See pakub alustamiseks mitmesuguseid võimalusi
  • See pakub haldustoimingute jaoks kasutusvalmis kasutajaliidest
  • See võimaldab mitmekeelseid veebisaite, kasutades oma sisseehitatud rahvusvahelistumise süsteemi
  • Aitab teil kiiresti vastata tohututele liiklusnõuetele
  • Djangot kasutatakse igat tüüpi sisuhaldussüsteemide, sotsiaalvõrgustike ja ka teaduslike andmetöötlusplatvormide ehitamiseks.
  • Django aitab teil pakkuda täielikku rakenduste testimist
  • Aitab teil dokumenteerida oma API-d HTML-väljundiga
  • REST Frameworkil on rikkalik tugi mitmele autentimisprotokollile
  • Load ja piiramise eeskirjad
  • Seda kasutatakse laialdaselt ühe kasutaja API päringute kiiruse piiramiseks.

Django ajalugu

Tootmisaasta Teetähis
2003 Projekti algatasid Adian Holovaty ja Simon Willison ajalehe Lawrence Journal-World siseprojektina
juuli 2005 See ilmus juulis 2005 kui "Django", mis sai nime džässkitarristi Django Reinhardi järgi.
juuni 2008 Teatas, et Django tarkvara Foundation (DSF) säilitaks Django.
29 juuli 2009 Django 1.1 versioon avaldati selliste funktsioonidega nagu Agregaadid, tehingupõhised testid.
17 mai 2010 Ilmus Django 1.2 versioon. Selles versioonis on värskendus pakkunud selliseid funktsioone nagu mitu andmebaasi, e-posti taustaprogrammi rakendamine ning seansside ja küpsiste täiustused.
Mar 23 2011 1.3 versioon, millel on sellised funktsioonid nagu klassipõhised vaated, staatilised failid
Mar 23 2012 1.4 versioon käivitati uute funktsioonidega, nagu ajavööndid ja brauserisisene testimine
26 veebruar 2013 1.5 versioon on kaasas Python 3 Tugi, konfigureeritavad kasutajamudeli funktsioonid.
6 2013 november 1.6 versiooniga on kaasas DB tehinguhaldus, ühenduste ühendamise funktsioonid.
2 september 2014 1.7 versioonil olid uued funktsioonid, nagu rakenduste laadimine, migratsioonid ja konfiguratsioon
1 aprill 2015 mitme mallimootori jaoks pakutav loomulik tugi.
1 dets. 2015 Versioonis 1.9 võeti kasutusele automaatne parooli kinnitamise funktsioon.
August 1 2016 1.10 versioonis täisteksti otsing PostgreSQL käivitatud.
4 aprill 2017 1.11 versioon muutub viimaseks toetatavaks versiooniks Python 2.7
2 dets. 2017 versioonist 2.0 saab esimene python 3 väljalaskeversioon.
August 1 2018 versioon 2.1 on varustatud mudeli "vaate" loa tugifunktsiooniga.
2021 Django 3.0 tugi on eemaldatud ja Django 3.2 tugi on lisatud

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

Django omadused

Allpool on Django funktsioonid:

  • Aitab teil määratleda rakenduses URL-ide jaoks mustreid
  • Lihtne, kuid võimas URL-i süsteem
  • Sisseehitatud autentimissüsteem
  • Objektorienteeritud programmeerimiskeele andmebaas, mis pakub oma klassi parimat andmesalvestust ja -otsingut
  • Automaatne administraatoriliidese funktsioon võimaldab üksuste lisamise, redigeerimise ja kustutamise funktsioone. Saate administraatori paneeli vastavalt oma vajadustele kohandada.
  • Vahemäluraamistikuga on kaasas mitu vahemälumehhanismi.

Nüüd selles Django raamistiku õpetuses õpime tundma Django omadusi.

Django omadused

Siin on Django peamised omadused:

  • Loosely Coupled – Django aitab teil muuta oma virna kõik elemendid teistest sõltumatuks.
  • Less kood- Tagab tõhusa arengu
  • Ei korrata – kõike tuleks uuesti kordamise asemel arendada täpselt ühes kohas
  • Kiire arendus – Django pakub kiiret ja usaldusväärset rakenduste arendamist.
  • Järjepidev disain – Django säilitab puhta kujunduse ja muudab veebiarenduse parimate tavade 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

Kui räägime rakendustest, mis pakuvad kasutajaliidest (veeb või töölaud), räägime tavaliselt MVC arhitektuurist. MVC muster põhineb mudelil, vaatel ja kontrolleril.

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

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

. kontroller on see rakenduse osa, mis tegeleb kasutaja interaktsiooniga.

Django MVC-MVT muster

Model-View-Template (MVT) on MVC-ga võrreldes erinev kontseptsioon. Peamine erinevus nende kahe arhitektuurimustri vahel on see, et Django ise haldab kontrolleri osa (tarkvarakood, mis juhib mudeli ja vaate vahelisi koostoimeid). Mall on HTML-fail, mis on segatud Django Template Language failiga, mida nimetatakse ka DTL-iks.

Allpool toodud diagramm näitab, kuidas kõik MVT-mustri komponendid suhtlevad üksteisega, et teenindada kasutaja päringut.

Django Architektuur: MVC ja MVT

MVT laiendus Architektuur

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

URL-i kaardistamise korral kutsutakse välja vaade, mis suhtleb mudeli ja malliga. Seejärel vastab Django kasutajale ja saadab vastusena malli.

Nüüd selles Django algajatele mõeldud õpetuste seerias õpime 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üpsisepõhiseid kasutajaseansse jne.

admin

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

Rahvusvahelistumine

Django toetab teksti tõlkimist erinevatesse keeltesse, kuupäevade, kellaaegade, numbrite ja ajavööndite lokaadipõhist vormindamist.

TURVALISUS

Django pakub kaitset järgmiste rünnakute eest:

  • 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 Djangot:

  • BitBucket
  • DISQUS
  • NASA
  • PBS (avalik-õigusliku ringhäälingu teenus)
  • Pinterest
  • Instagram
  • Mozilla
  • The Washington Post
  • NY Times
  • LA Times
  • The Guardian National Geographic
  • Discovery Channel

Django kasutamise puudused

  • Protsess ei saa korraga käsitleda mitut päringut.
  • Django on väga monoliitne tööriist.
  • Komponendid rakendatakse koos, mis võib tekitada segadust.
  • Djangoga töötamiseks vajalikud teadmised kogu süsteemist
  • Muudab veebirakenduse komponendid omavahel tihedalt seotud
  • Väikeste ülesannete jaoks peate tegema pika programmeerimise.

kokkuvõte

  • Django on veebiarendusraamistik Python mis pakub standardmeetodit veebisaidi kiireks ja tõhusaks arendamiseks.
  • Django algatasid Adian Holovaty ja Simon Willison ajalehe Lawrence Journal-World siseprojektina 2003. aastal.
  • Django aitab teil dokumenteerida oma API-d HTML-väljundiga.
  • Django võimaldab teil kohandada administraatoripaneeli vastavalt oma vajadustele.
  • Django aitab teil muuta oma virna kõik elemendid teistest sõltumatuks.
  • Peamine erinevus MVC ja MVT arhitektuurimustrite vahel on see, et Django ise haldab Controlleri osa.
  • Django arhitektuuri olulised komponendid on: vorm, autentimine, administraator, rahvusvahelistumine, turvalisus.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla jne kasutavad Djangot
  • Django suurim puudus on see, et see ei suuda korraga mitut päringut käsitleda.

Võta see postitus kokku järgmiselt: