Arhitectura Django: Sistemul de lucru al cadrului MVT explicat

Publicat: 2020-12-23

Cuprins

Introducere

Django este unul dintre cele mai simple și eficiente cadre de aplicații web care este scris în limbajul Python. Acest cadru este gratuit și open-source și, prin urmare, a înlocuit în mare măsură utilizarea PHP, servlet-uri etc. pentru a dezvolta backend-ul oricărui site web. A fost dezvoltat de Django Software Foundation pe 15 iulie 2005.

Django oferă un avantaj imbatabil al ușurinței creării bazelor de date pentru dezvoltatorii care lucrează pe cadre complexe de dezvoltare web. În plus, Django oferă unul dintre cele mai rapide fluxuri de date și, de asemenea, se asigură că securitatea nu este compromisă.

Arhitectura lui Django urmează în primul rând cadrul MVT, așa cum este explicat mai jos.

  • M: Model
  • V: Vedeți
  • T: Șablon

MVT poate fi văzut ca o alternativă a cadrului MVC care constă dintr-un model, vizualizare și controler. Contrastul major dintre MVT și MVC este că arhitectura Django are grijă de responsabilitățile gestionate de partea controlerului arhitecturii MVC. Django își folosește șabloanele pentru a efectua toate sarcinile asociate controlerului. În cuvinte mai simple, șablonul conține conținut care este un amalgam de Django Template Language (cunoscut și ca DTL) și HTML (Hyper Text Markup Language).

Șablonul, așa cum a fost introdus mai sus, este responsabil pentru toate acțiunile și personalizările legate de UI, împreună cu activitățile legate de arhitectură ale unei aplicații. La baza șablonului, avem „Vizualizare”. Vizualizarea preia controlul asupra activităților de procesare logică și de luare a deciziilor ale aplicației și, de asemenea, comunică cu „Modelul” pentru a prelua punctele de date respective și, în consecință, a modifica șablonul conform cerințelor.

După cum sa discutat mai sus, Django însuși acționează ca un controler care preia o adresă URL care este conectată la partea de vizualizare a aplicației și în cele din urmă trimite răspunsurile utilizatorului respectiv către aplicație. Aceasta este interacțiunea generală care are loc în arhitectura Django MVT.

Trebuie citit: Proiecte Django pe Github

Model

În Django, modelul joacă un rol important de a lega întreaga arhitectură la baza de date. În întreg acest proces, fiecare model este conectat la un singur tabel din baza de date. Metodele și câmpurile asociate acestui proces sunt declarate într-un fișier separat, definit în general ca models.py.

Odată ce procesul de legare este încheiat și totul este conectat la baza de date, vom putea evalua fiecare rând sau, mai precis, să înregistrăm din tabelul respectiv și chiar să putem efectua diferite operațiuni DML în consecință pe tabel.

Django.db.models este subclasa care este utilizată în acest caz. Putem folosi funcția de import implicită a Python ca „din modelele de import django.db”.

După definirea coloanelor, tabelelor și înregistrărilor bazei noastre de date, vom prelua datele care sunt conectate la aplicație, menționând maparea în settings.py.

Vedere

Logica generală a cadrului fluxului de date este definită în această parte a modelului. Întregul cod este definit în fișierul views.py.

O altă sarcină a fișierului de vizualizare este să trimită răspunsurile utilizatorului respectiv ori de câte ori este utilizată aplicația. În termeni profani, putem afirma pur și simplu că view.py este capabil să gestioneze HttpResponse.

Când este creat un fișier de vizualizare, următoarea întrebare care ne vine în minte este cum să legăm acest fișier la aplicația noastră? Cum ne asigurăm că cadrul va înțelege când să afișeze o anumită vizualizare? Această înțelegere poate fi stabilită prin maparea views.py într-un fișier separat urls.py. După cum am discutat mai sus, urls.py este responsabil pentru ținerea evidenței tuturor paginilor distincte și, prin urmare, maparea fiecăreia dintre ele.

Șablon

Ori de câte ori dorim să creăm un site web dinamic pentru operațiuni sau funcții complexe, șabloanele ne ajută să realizăm asta într-un mod ușor. Cu cuvinte mai simple, site-ul web dinamic trimite și primește date dinamice sau în schimbare. Datele dinamice sunt de obicei asociate cu un scenariu în care fiecărui utilizator i se prezintă propriile sale date personalizate. De exemplu, postări pe site-uri de social media precum Facebook, Instagram, Twitter etc. sau diferite tranzacții cu produse fintech etc.

Șablonul este configurat în fișierul settings.py care se află sub INSTALLED_APPS. Prin urmare, codul Python va căuta pur și simplu fișierele asociate în subdirectorul șablonului. Există 2 opțiuni pentru a face asta - fie putem genera un fișier HTML, fie pur și simplu importam o pagină web dinamică prin browser și o salvam în folderul șablon respectiv.

Acum, pentru a obține un răspuns, vom conecta acest fișier în urls.py și views.py. După finalizarea întregului proces de conectare, ne putem pune în funcțiune site-ul web.

În acest sens, așa funcționează Django. Principalele înregistrări Python sunt utilizate pentru a interfața unele cu altele pentru a arăta pagina noastră sunt settings.py, view.py și urls.py

Când ne caracterizăm rațiunea aici în mod individual, putem avea un proces de lucru care conectează baza de date, luând sursele de date și reacțiile clienților și să arătăm pagini dinamice. Dacă doriți să vă scufundați mai adânc în Django, aruncați o privire la documentație și înțelegeți legătura dintre ele.

Citește și: Idei de proiect Python Django

Înscrieți-vă la cursurile de inginerie software de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Credem că ți-a plăcut descrierea noastră a cadrului Django. În cazul în care aveți întrebări sau recomandări cu privire la acest articol, vă rugăm să ne anunțați prin secțiunea de comentarii de mai jos. Ne-ar plăcea să auzim contemplațiile tale.

În cazul în care sunteți intrigat să studiați Django și alte instrumente și cadre de inginerie full-stack, uitați-vă la programul Executive PG de la upGrad și IIIT-B în dezvoltarea software full-stack, care este destinat experților care lucrează și oferă peste 500 de perioade lungi de pregătire amănunțită. , peste 9 proiecte și sarcini, statutul de absolvenți IIIT-B, proiecte de bază rezonabile active și ajutor pentru angajare cu firme de top.

Pregătiți-vă pentru o carieră a viitorului

Aplicați acum pentru masterat în inginerie software