Tutorial Django pentru începători: caracteristici, Architectură și istorie

Rezumatul tutorialului Django

Acest tutorial Django acoperă toate subiectele de bază de la zero. În acest tutorial, veți învăța concepte precum ce este Django, istoria Django, caracteristicile Django, Caracteristicile cadrului Django, Componenta Django, Avantaje și dezavantaje și multe altele.
Înainte de a învăța Django, să înțelegem:

Ce este un cadru web?

Un cadru web este o bibliotecă de coduri care vă ajută să construiți o bibliotecă flexibilă, scalabilă și care poate fi întreținută; site web dinamic, aplicație web și servicii web. Diferite cadre web sunt Zend pentru PHP, Ruby on Rails pentru Ruby etc.

Ce este Django?

Django este un cadru de dezvoltare web pentru Python care oferă metode standard pentru dezvoltarea rapidă și eficientă a site-ului web. Scopul principal al acestui cadru web de nivel înalt este de a crea site-uri web complexe bazate pe baze de date. Vă ajută să construiți și să mențineți aplicații web de calitate. Vă permite să faceți procesul de dezvoltare fără probleme și să economisiți timp pentru o dezvoltare rapidă.

De ce Django? Avantajele cheie ale Django

Iată principalele avantaje ale Django:

  • Django este ușor de configurat și rulat. Oferă o varietate de opțiuni pentru a începe
  • Acesta oferă o interfață de utilizator gata de utilizare pentru activități administrative
  • Permite site-uri web multilingve folosind sistemul său de internaționalizare încorporat
  • Vă ajută să satisfaceți rapid cerințele masive de trafic
  • Django este folosit pentru a construi toate tipurile de sisteme de management al conținutului, rețele sociale, precum și platforme de calcul științifice.
  • Django vă ajută să oferiți testare end-to-end a aplicațiilor
  • Vă ajută să vă documentați API-ul cu o ieșire HTML
  • REST Framework are suport bogat pentru mai multe protocoale de autentificare
  • Permisiuni și politici de limitare
  • Este utilizat pe scară largă pentru solicitările API de limitare a ratei de la un singur utilizator.

Istoria lui Django

An Bornă
2003 Proiectul a fost început de Adian Holovaty și Simon Willison ca proiect intern la ziarul Lawrence Journal-World
iulie 2005 A fost lansat în iulie 2005 sub numele de „Django”, numit după chitaristul de jazz Django Reinhard.
iunie 2008 A declarat că un software Django Foundation (DSF) ar menține Django.
29 iulie 2009 Versiunea Django 1.1 a fost lansată cu funcții precum agregate, teste bazate pe tranzacții.
17 May 2010 Versiunea Django 1.2 a fost lansată. Actualizarea oferită funcții precum mai multe baze de date, implementarea backend-ului de e-mail și îmbunătățiri pentru sesiuni și cookie-uri sunt realizate în această versiune.
23 Mar 2011 Versiunea 1.3 cu caracteristici precum vizualizările bazate pe clasă, au fost introduse fișiere statice
23 Mar 2012 Versiunea 1.4 a fost lansată cu noi funcții, cum ar fi fusurile orare și testarea în browser
26 2013 februarie Versiunea 1.5 vine cu Python 3 Suport, caracteristici configurabile ale modelului utilizatorului.
6 2013 noiembrie Versiunea 1.6 vine cu gestionarea tranzacțiilor DB, caracteristici de pooling de conexiuni.
2 2014 septembrie Versiunea 1.7 avea funcții noi, cum ar fi încărcarea aplicației, migrarea și configurarea
1 aprilie 2015 suport nativ oferit pentru mai multe motoare de șabloane.
1 Dec 2015 În versiunea 1.9, a fost introdusă funcția de validare automată a parolei.
1 2016 august În versiunea 1.10, căutarea text integral pentru PostgreSQL lansat.
4 aprilie 2017 Versiunea 1.11 devine ultima versiune suportată Python 2.7
2 Dec 2017 versiunea 2.0 devine prima versiune python 3 - numai versiunea de lansare.
1 2018 august versiunea 2.1 vine cu funcția de asistență pentru permisiunea „vizualizare” model.
2021 S-a eliminat suportul pentru Django 3.0 și s-a adăugat suport pentru Django 3.2

Acum, în acest tutorial Django pentru începători, să învățăm despre caracteristicile Django.

Caracteristicile lui Django

Mai jos sunt caracteristicile Django:

  • Vă ajută să definiți modele pentru adresele URL din aplicația dvs
  • Sistem URL simplu, dar puternic
  • Sistem de autentificare încorporat
  • Baza de date în limbaj de programare orientat pe obiecte care oferă cele mai bune stocări și recuperare a datelor din clasă
  • Funcția automată de interfață de administrare permite funcționalitatea de a adăuga, edita și șterge elemente. Puteți personaliza panoul de administrare în funcție de nevoile dvs.
  • Cadrul de cache vine cu mai multe mecanisme de cache.

Acum, în acest tutorial de framework Django, vom afla despre caracteristicile Django.

Caracteristicile lui Django

Iată principalele caracteristici ale lui Django:

  • Loosely Coupled- Django vă ajută să faceți fiecare element din stiva sa independent de celelalte.
  • Less cod- Asigură o dezvoltare eficientă
  • Nu se repetă - Totul ar trebui dezvoltat într-un singur loc, în loc să se repete din nou
  • Dezvoltare rapidă - Django oferă o dezvoltare rapidă și fiabilă a aplicațiilor.
  • Design consistent - Django menține un design curat și ușurează urmărirea celor mai bune practici de dezvoltare web.

În continuare, în acest tutorial pentru începători Django, vom afla despre arhitectura Django.

Django Architectură: MVC și MVT

Mai jos este o arhitectură detaliată a lui Django:

Django Architectură
Django Architectură

Model MVC

Când vorbim despre aplicații care oferă UI (web sau desktop), de obicei vorbim despre arhitectura MVC. Modelul MVC se bazează pe Model, View și Controller.

Modele Usi definește structura datelor și are grijă de interogarea bazei de date.

Vizualizare definește ce date trebuie prezentate și returnează un răspuns HTTP.

operator de date cu caracter personal, este acea parte a aplicației care se ocupă de interacțiunea utilizatorului.

Modelul Django MVC-MVT

Model-View-Template (MVT) este un concept diferit de MVC. Principala diferență dintre aceste două modele arhitecturale este că Django însuși gestionează partea Controller (codul software care controlează interacțiunile dintre Model și Vedere). Șablonul este un fișier HTML care este amestecat cu fișierul Django Template Language, numit și DTL.

Diagrama de mai jos arată modul în care toate componentele modelului MVT interacționează între ele pentru a servi specific unei cereri de utilizator.

Django Architectură: MVC și MVT

extensia MVT Architectură

După cum se vede în diagrama de mai sus, un utilizator solicită o resursă către Django. Django acționează ca un controler și verifică resursa disponibilă în URL.

În cazul hărților URL, se numește o vizualizare care interacționează cu modelul și șablonul. Django răspunde apoi utilizatorului și trimite un șablon ca răspuns.

Acum, în această serie de tutoriale Django pentru începători, vom afla despre componentele Django.

Componentele lui Django

Formă

Django are o bibliotecă de formulare puternică care se ocupă de redarea formularelor ca HTML. Biblioteca ajută la validarea datelor trimise și la conversia acestora Python tipuri.

Autentificare

Se ocupă de conturi de utilizator, grupuri, sesiuni de utilizatori bazate pe cookie-uri etc.

admin

Citește metadatele din modelele dvs. pentru a oferi o interfață robustă care poate fi utilizată pentru a gestiona conținutul de pe site-ul dvs.

Internaționalizare

Django oferă suport pentru traducerea textului în diferite limbi, formatare specifică localității a datelor, orelor, numerelor și fusurilor orare.

Securitate

Django oferă protecție împotriva următoarelor atacuri:

  • Falsificare de cereri între site-uri (CSRF)
  • Scripturi între site-uri
  • injecție SQL
  • click jacking
  • Executarea codului de la distanță

Companii celebre care folosesc Django

Iată companiile care folosesc Django:

  • BitBucket
  • Disqus
  • NASA
  • PBS (Serviciul Public de Radiodifuziune)
  • pinterest
  • Instagram
  • Mozilla
  • Washington Post
  • NY Times
  • LA Times
  • The Guardian National Geographic
  • Discovery Channel

Dezavantajele utilizării Django

  • Un proces nu poate gestiona mai multe cereri simultan.
  • Django este un instrument foarte monolitic.
  • Componentele sunt implementate împreună, ceea ce poate crea confuzie.
  • Cunoașterea completă a sistemului necesară pentru a funcționa pe Django
  • Face componentele aplicației web strâns cuplate
  • Trebuie să faceți o programare lungă pentru sarcini minore.

Rezumat

  • Django este un cadru de dezvoltare web pentru Python care oferă o metodă standard pentru dezvoltarea rapidă și eficientă a site-ului web.
  • Django început a fost de Adian Holovaty și Simon Willison ca proiect intern la ziarul Lawrence Journal-World în 2003
  • Django vă ajută să vă documentați API-ul cu o ieșire HTML.
  • Django vă permite să personalizați panoul de administrare în funcție de nevoile dvs.
  • Django vă ajută să faceți fiecare element din stiva sa independent de celelalte.
  • Principala diferență dintre modelele arhitecturale MVC și MVT este că Django însuși gestionează partea Controller.
  • Componentele esențiale ale arhitecturii Django sunt: ​​Formular, Autentificare, Administrare, Internaționalizare, Securitate.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla etc. folosesc Django
  • Cel mai mare dezavantaj al Django este că nu poate gestiona mai multe solicitări simultan.