Tutorial Django: Caracteristici, Architectură și istorie

⚡ Rezumat inteligent

Django este o platformă gratuită, open-source Python Framework web construit pe modelul model-view-template, permițând dezvoltarea rapidă a unor site-uri web sigure, scalabile, bazate pe baze de date, prin componente reutilizabile, o interfață de administrare automată și un design cu baterii incluse.

  • 🔘 Cadru: Django este un nivel înalt Python framework pentru construirea rapidă de aplicații web complexe, bazate pe baze de date.
  • ☑️ Architectura: Șablonul model-view-template (MVT) permite Django să gestioneze controlerul și să separe datele, logica și prezentarea.
  • Baterii incluse: Funcțiile integrate de administrare, autentificare, formulare și internaționalizare elimină majoritatea sarcinilor de configurare repetitive.
  • 🛠️ De securitate: Măsurile de siguranță implicite blochează atacurile CSRF, cross-site scripting, SQL injection și clickjacking.
  • 🧪 Scară: InstagramPinterest, Mozilla și Disqus se bazează pe Django pentru a deservi un trafic foarte ridicat.
  • 🤖 AVEA: Django servește modele de învățare automată ca API-uri, iar asistenți precum GitHub Copilot accelerează codarea backend.

Tutorial Django pentru începători

Django administrează unele dintre cele mai mari site-uri de pe web, în ​​timp ce keeping Dezvoltare zilnică rapidă și organizată. Înainte de a explora caracteristicile, arhitectura și istoricul său, secțiunile de mai jos încep cu elementele de bază ale framework-urilor web și cu ceea ce face Django distinct.

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, istoricul său, caracteristicile sale, caracteristicile framework-ului Django, componentele Django, avantajele și dezavantajele sale și multe altele.

Înainte de a învăța Django, să înțelegem:

Ce este un cadru web?

Un framework web este o bibliotecă de cod care te ajută să construiești un site web dinamic, o aplicație web sau un serviciu web flexibil, scalabil și ușor de întreținut. Printre diferitele framework-uri web se numără Zend pentru PHP, Ruby on Rails pentru Ruby și alții.

Ce este Django?

Django este un cadru de dezvoltare web pentru Python care oferă metode standard pentru dezvoltarea rapidă și eficientă a site-urilor web. Scopul principal al acestui framework web de nivel înalt este de a crea site-uri web complexe bazate pe baze de date. Vă ajută să construiți și să întrețineți aplicații web de calitate. Vă permite să faceți procesul de dezvoltare fluid ș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 de rulat. Oferă o varietate de opțiuni pentru a începe.
  • Oferă o interfață utilizator gata de utilizare pentru activități administrative.
  • Permite site-uri web multilingve utilizând sistemul său de internaționalizare încorporat.
  • Te ajută să satisfaci rapid cerințele masive de trafic.
  • Django este utilizat pentru a construi toate tipurile de sisteme de gestionare a conținutului, rețele sociale, precum și platforme de calcul științific.
  • Django vă ajută să oferiți testare completă a aplicațiilor.
  • Te ajută să-ți documentezi API-ul cu o ieșire HTML.
  • Framework-ul REST oferă suport bogat pentru mai multe protocoale de autentificare.
  • Oferă permisiuni și politici de limitare a traficului.
  • 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 inițiat de Adrian Holovaty și Simon Willison ca un 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 Reinhardt.
iunie 2008 S-a declarat că un software Django Foundation (DSF) ar menține Django.
29 iulie 2009 Django 1.1 a fost lansat cu funcții precum agregate și teste bazate pe tranzacții.
17 May 2010 A fost lansat Django 1.2. Actualizarea a oferit funcții precum baze de date multiple și un backend pentru e-mail, și au fost aduse îmbunătățiri pentru sesiuni și cookie-uri.
23 Mar 2011 Versiunea 1.3 a introdus funcții precum vizualizări bazate pe clase și fișiere statice.
23 Mar 2012 Versiunea 1.4 a fost lansată cu noi funcții, cum ar fi fusuri orare și testare în browser.
26 2013 februarie Versiunea 1.5 a venit cu Python 3 funcții de suport și configurabile pentru modelul de utilizator.
6 2013 noiembrie Versiunea 1.6 a venit cu funcții de gestionare a tranzacțiilor în baza de date și de grupare a conexiunilor.
2 2014 septembrie Versiunea 1.7 a avut funcții noi, cum ar fi încărcarea aplicațiilor, migrări și configurare.
1 aprilie 2015 A fost oferit suport nativ pentru mai multe motoare de șabloane.
1 Dec 2015 În versiunea 1.9, a fost introdusă o funcție de validare automată a parolei.
1 2016 august În versiunea 1.10, căutarea full-text pentru PostgreSQL a fost lansat.
4 aprilie 2017 Versiunea 1.11 a devenit ultima versiune care a suportat Python 2.7.
2 Dec 2017 Versiunea 2.0 a devenit prima Python Versiune lansată doar în 3 etape.
1 2018 august Versiunea 2.1 a inclus funcții de suport pentru permisiunile de „vizualizare” a modelului.
2021 A fost eliminat suportul pentru Django 3.0 și a fost adăugat suport pentru Django 3.2.

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

Caracteristicile lui Django

Mai jos sunt caracteristicile Django:

  • Te ajută să definești modele pentru URLs în aplicația dumneavoastră.
  • Simplu, dar puternic URL sistemului.
  • Sistem de autentificare încorporat.
  • O bază de date în limbaj de programare orientat pe obiecte care oferă cea mai bună stocare și recuperare a datelor din clasa sa.
  • Funcția de interfață de administrare automată permite adăugarea, editarea și ștergerea elementelor. Puteți personaliza panoul de administrare în funcție de nevoile dvs.
  • Framework-ul cache vine cu mai multe mecanisme de cache.

Acum, în acest tutorial despre framework-ul Django, vom învăța despre caracteristicile Django.

Caracteristicile lui Django

Iată principalele caracteristici ale lui Django:

  • Slab cuplate – Django te ajută să faci fiecare element al stivei sale independent de celelalte.
  • Less cod – Asigură o dezvoltare eficientă.
  • Nerepetat – Totul ar trebui dezvoltat într-un singur loc, în loc să se repete.
  • Dezvoltare rapidă – Django oferă dezvoltare rapidă și fiabilă de aplicații.
  • Design consistent – Django menține un design curat și facilitează respectarea 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ă o interfață utilizator (web sau desktop), vorbim de obicei despre arhitectura MVC. Modelul MVC se bazează pe Model, Vizualizare și Controler.

Model definește structura datelor și se ocupă 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 partea aplicației care gestionează interacțiunea cu utilizatorul.

Modelul Django MVC-MVT

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

Diagrama de mai jos arată cum interacționează toate componentele modelului MVT pentru a servi o anumită cerere a utilizatorului.

Django Architectură: MVC și MVT

extensia MVT Architectură

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

În cazul în care URL În hărți, se apelează 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 învăța 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

Gestionează conturi de utilizatori, grupuri, sesiuni de utilizatori bazate pe cookie-uri și multe altele.

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 diverse limbi și formatarea specifică setărilor locale a datelor, orelor, numerelor și fusurilor orare.

Securitate

Django oferă măsuri de 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ă câteva companii care utilizează Django:

  • Bitbucket
  • Disqus
  • NASA
  • PBS (Serviciul Public de Radiodifuziune)
  • pinterest
  • Instagram
  • Mozilla
  • Washington Post
  • New York Times
  • Los Angeles Times
  • The Guardian
  • national Geographic,
  • Discovery Channel

Dezavantajele utilizării Django

Iată câteva dezavantaje ale utilizării Django:

  • Un singur 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 întregului sistem este necesară pentru a lucra cu Django.
  • Face ca componentele aplicației web să fie strâns legate între ele.
  • Trebuie să faceți o programare lungă pentru sarcini minore.

Întrebări frecvente

Django este în primul rând un framework backend, deși este adesea descris ca full-stack deoarece stratul său de șablon redă HTML. Acesta gestionează logica server-side, bazele de date, rutarea și securitatea, în timp ce șabloanele se ocupă de prezentarea pentru browser.

Django este un framework full-stack, cu baterii incluse, un ORM încorporat, panou de administrare și autentificare. Flask este un microframework ușor, care rămâne minimalist și se bazează pe extensii pentru aceleași funcții, oferind dezvoltatorilor mai mult control manual.

ORM-ul Django, sau mapatorul obiect-relațional, vă permite să definiți tabele de baze de date ca fiind Python clase și le interogați cu Python cod în loc de SQL brut. Acceptă baze de date precum PostgreSQL, MySQL, SQLite și Oracle.

Executați python -m django –version din linia de comandă sau deschideți un Python shell și executați import django urmat de print(django.get_version()). Ambele afișează numărul versiunii Django instalate.

Middleware-ul este o serie de hook-uri care procesează fiecare cerere și răspuns la nivel global. Django folosește middleware pentru sesiuni, autentificare, protecție CSRF și anteturi de securitate, fiecare rulând în ordine înainte și după executarea view-ului.

O cunoaștere de lucru a Python și sunt necesare concepte web de bază, cum ar fi HTTP, HTML și baze de date. Înțelegerea programării orientate pe obiecte face ca modelele Django și vizualizările bazate pe clase să fie mult mai ușor de învățat.

Da. Django deservește frecvent modele de învățare automată prin intermediul vizualizărilor sau al framework-ului Django REST, expunând predicțiile ca puncte finale API. Un model antrenat se încarcă o singură dată la pornire și returnează rezultatele inferenței către clienții web sau mobili.

GitHub Copilot și asistenți AI similari completează automat modelele, vizualizările Django URL modele și teste și pot fi folosite ca schelet pentru schele repetitive. Acestea accelerează dezvoltarea, deși codul generat ar trebui întotdeauna revizuit pentru securitate și corectitudine.

Rezumați această postare cu: