Django bemutató: Jellemzők, Architecture & History

⚡ Okos összefoglaló

A Django egy ingyenes, nyílt forráskódú Python Egy model-view-template mintára épülő webes keretrendszer, amely lehetővé teszi a biztonságos, skálázható, adatbázis-vezérelt weboldalak gyors fejlesztését újrafelhasználható komponensek, automatikus adminisztrációs felület és akkumulátoros kialakítás révén.

  • 🔘 Keretrendszer: A Django egy magas szintű Python keretrendszer összetett, adatbázis-vezérelt webalkalmazások gyors létrehozásához.
  • ☑️ Architectúra: A model-view-template (MVT) minta lehetővé teszi a Django számára a vezérlő kezelését, valamint az adatok, a logika és a megjelenítés elkülönítését.
  • Az elemeket tartalmazza: A beépített adminisztráció, hitelesítés, űrlapok és internacionalizálás kiküszöböli a legtöbb ismétlődő beállítási munkát.
  • 🇧🇷 Biztonság: Az alapértelmezett védelmi intézkedések blokkolják a CSRF-et, a webhelyek közötti szkriptelést, az SQL-injekciót és a kattintáseltérítéses támadásokat.
  • 🧪 Skála: InstagramA Pinterest, a Mozilla és a Disqus a Djangóra támaszkodik a nagyon nagy forgalom kiszolgálásához.
  • 🤖 HAVE: A Django gépi tanulási modelleket kínál API-ként, az olyan asszisztensek, mint a GitHub Copilot, pedig felgyorsítják a háttérbeli kódolást.

Django bemutató kezdőknek

A Django működteti az internet néhány legnagyobb webhelyét, miközben keeping A mindennapi fejlesztés gyors és szervezett. Mielőtt megismerkednénk a funkcióival, az architektúrájával és a történetével, az alábbi szakaszok a webes keretrendszerek alapjaival és a Django egyediségével kezdődnek.

Django bemutató összefoglaló

Ez a Django oktatóanyag a nulláról lefedi az összes alapvető témát. Ebben az oktatóanyagban olyan fogalmakat fogsz megtanulni, mint például, hogy mi a Django, a története, a funkciói, a Django keretrendszer jellemzői, a Django összetevői, előnyei és hátrányai, és még sok más.

Mielőtt megtanulnánk a Django-t, nézzük meg:

Mi az a webes keretrendszer?

A webes keretrendszer egy kódkönyvtár, amely segít rugalmas, skálázható és karbantartható dinamikus weboldalak, webes alkalmazások vagy webszolgáltatások létrehozásában. Különböző webes keretrendszerek közé tartozik a Zend for PHP, Ruby on Rails Rubynak és másoknak.

Mi az a Django?

Django egy webfejlesztési keretrendszer Python amely szabványos módszereket kínál a gyors és hatékony weboldalfejlesztéshez. Ennek a magas szintű webes keretrendszernek az elsődleges célja összetett, adatbázis-vezérelt weboldalak létrehozása. Segít minőségi webes alkalmazások létrehozásában és karbantartásában. Lehetővé teszi a fejlesztési folyamat zökkenőmentessé és időtakarékossá tételét a gyors fejlesztés érdekében.

Miért Django? A Django legfontosabb előnyei

Íme a Django fő előnyei:

  • A Django könnyen beállítható és futtatható. Számos lehetőséget kínál az induláshoz.
  • Használatra kész felhasználói felületet biztosít az adminisztratív tevékenységekhez.
  • Beépített internacionalizációs rendszerének köszönhetően többnyelvű weboldalakat tesz lehetővé.
  • Segítségével gyorsan kielégítheti a hatalmas forgalmi igényeket.
  • A Django-t mindenféle tartalomkezelő rendszer, közösségi hálózat és tudományos számítástechnikai platform létrehozására használják.
  • A Django segít a teljes körű alkalmazástesztelésben.
  • Segít az API HTML-kimenettel történő dokumentálásában.
  • A REST keretrendszer számos hitelesítési protokollt támogat.
  • Engedélyeket és szabályozási szabályzatokat kínál.
  • Széles körben használják egyetlen felhasználótól érkező API-kérések sebességkorlátozására.

A Django története

Év Mérföldkő
2003 A projektet Adrian Holovaty és Simon Willison indította el belső projektként a Lawrence Journal-World újságnál.
július 2005 2005 júliusában jelent meg „Django” címmel, Django Reinhardt dzsesszgitárosról elnevezve.
június 2008 Kijelentették, hogy egy Django szoftver Foundation (DSF) fenntartaná a Django-t.
29 July 2009 A Django 1.1 olyan funkciókkal jelent meg, mint az aggregátumok és a tranzakcióalapú tesztek.
17 May 2010 Megjelent a Django 1.2. A frissítés olyan funkciókat kínált, mint a több adatbázis és az e-mail backend, valamint fejlesztések történtek a munkamenetek és a sütik tekintetében.
Március 23 2011 Az 1.3-as verzió olyan funkciókat vezetett be, mint az osztályalapú nézetek és a statikus fájlok.
Március 23 2012 Az 1.4-es verzió olyan új funkciókkal jelent meg, mint az időzónák és a böngészőn belüli tesztelés.
26 február 2013 Az 1.5-ös verzióhoz érkezett a következő Python 3 támogatási és konfigurálható felhasználói modellfunkció.
6 november 2013 Az 1.6-os verzió adatbázis-tranzakciókezelési és kapcsolat-pooling funkciókkal érkezett.
2 szeptember 2014 Az 1.7-es verzió új funkciókat tartalmazott, mint például az alkalmazások betöltése, a migráció és a konfiguráció.
1 április 2015 Natív támogatást biztosítottak több sablonmotorhoz.
1 Dec 2015 Az 1.9-es verzióban bevezették az automatikus jelszó-érvényesítési funkciót.
1 augusztus 2016 Az 1.10-es verzióban teljes szöveges keresés érhető el a következőre: PostgreSQL elindult.
4 április 2017 Az 1.11-es verzió volt az utolsó, amely támogatta a Python 2.7.
2 Dec 2017 A 2.0-s verzió lett az első Python Csak 3-as kiadású verzió.
1 augusztus 2018 A 2.1-es verzió modell „megtekintés” jogosultságot támogató funkciókkal érkezett.
2021 Eltávolították a Django 3.0 támogatását, és hozzáadták a Django 3.2 támogatását.

Ebben a Django kezdőknek szóló oktatóanyagban most a Django funkcióival ismerkedünk meg.

A Django jellemzői

Az alábbiakban a Django funkcióiról olvashat:

  • Segít meghatározni a mintákat a következőkhöz: URLs az alkalmazásodban.
  • Egyszerű, de erőteljes URL rendszer.
  • Beépített hitelesítési rendszer.
  • Objektumorientált programozási nyelven futó adatbázis, amely kategóriájában a legjobb adattárolást és -visszakeresést kínálja.
  • Az automatikus adminisztrációs felület funkció lehetővé teszi az elemek hozzáadását, szerkesztését és törlését. Az adminisztrációs panelt az igényeid szerint testreszabhatod.
  • A gyorsítótár-keretrendszer több gyorsítótár-mechanizmussal rendelkezik.

Ebben a Django keretrendszer bemutatóban most a Django jellemzőiről fogunk tanulni.

A Django jellemzői

Íme a Django főbb jellemzői:

  • Lazán csatolt – A Django segít abban, hogy a verem minden elemét függetlenítsd a többitől.
  • Less kód – Biztosítja a hatékony fejlesztést.
  • Nem ismétlődik – Mindent pontosan egy helyen kell kidolgozni, ahelyett, hogy újra és újra megismételnénk.
  • Gyors fejlődés – A Django gyors és megbízható alkalmazásfejlesztést kínál.
  • Egységes kialakítás – A Django letisztult dizájnt kínál, és megkönnyíti a legjobb webfejlesztési gyakorlatok követését.

A következő Django kezdő oktatóanyagban a Django architektúrájáról fogunk tanulni.

Django Architectúra: MVC és MVT

Az alábbiakban a Django részletes architektúrája látható:

Django Architectúra

Django Architectúra

MVC minta

Amikor olyan alkalmazásokról beszélünk, amelyek felhasználói felületet (webes vagy asztali) biztosítanak, általában MVC architektúráról beszélünk. Az MVC minta a Model, a View és a Controller architektúrákon alapul.

Az Modell meghatározza az adatszerkezetet és gondoskodik az adatbázis lekérdezéséről.

Az Kilátás meghatározza, hogy milyen adatokat kell megjeleníteni, és HTTP választ ad vissza.

Az ellenőr az alkalmazás azon része, amely a felhasználói interakciót kezeli.

Django MVC-MVT minta

A Model-View-Template (MVT) egy más koncepció, mint az MVC. A két architektúraminta közötti fő különbség az, hogy maga a Django kezeli a vezérlő részt (a szoftverkódot, amely a modell és a nézet közötti interakciókat vezérli). A sablon egy HTML fájl, amelyet egy Django Template Language fájllal, más néven DTL-lel kevernek.

Az alábbi ábra azt mutatja, hogyan működnek együtt az MVT minta összes összetevője egy adott felhasználói kérés kiszolgálása során.

Django Architectúra: MVC és MVT

MVT Architectúra

Amint a fenti ábrán látható, egy felhasználó erőforrást kér a Django-tól. A Django vezérlőként működik, és ellenőrzi az elérhető erőforrásokat a URL.

Ha a URL A térképek esetében egy nézetet hívnak, amely interakcióba lép a modellel és a sablonnal. A Django ezután válaszol a felhasználónak, és válaszként elküld egy sablont.

Ebben a Django kezdőknek szóló oktatóanyag-sorozatban most a Django összetevőiről fogunk tanulni.

A Django összetevői

Forma

A Django hatékony űrlapkönyvtárral rendelkezik, amely az űrlapokat HTML-ként kezeli. A könyvtár segít a beküldött adatok érvényesítésében és konvertálásában Python típusok.

Hitelesítés

Kezeli a felhasználói fiókokat, csoportokat, süti alapú felhasználói munkameneteket és egyebeket.

admin

Beolvassa a metaadatokat a modellekben, hogy robusztus felületet biztosítson, amely felhasználható a webhely tartalmának kezelésére.

Nemzetközivé

A Django támogatja a szövegek különböző nyelvekre fordítását, valamint a dátumok, időpontok, számok és időzónák területspecifikus formázását.

Biztonság

A Django a következő támadások ellen nyújt védelmet:

  • Site-request Forgery (CSRF)
  • Cross-site scripting
  • SQL injektálás
  • Clickjacking
  • Távoli kódfuttatás

A Django-t használó híres cégek

Íme néhány cég, amelyek Django-t használnak:

  • Bitbucket
  • Disqus
  • NASA
  • PBS (Public Broadcasting Service)
  • pinterest
  • Instagram
  • Mozilla
  • The Washington Post
  • A New York Times
  • Los Angeles Times
  • Az őrző
  • National Geographic
  • Discovery Channel

A Django használatának hátrányai

Íme néhány hátránya a Django használatának:

  • Egyetlen folyamat nem képes egyszerre több kérést kezelni.
  • A Django egy nagyon monolitikus eszköz.
  • Az összetevők együttesen kerülnek telepítésre, ami zavart okozhat.
  • A Django használatához a teljes rendszer ismerete szükséges.
  • Szorosan összekapcsolja a webes alkalmazás komponenseit.
  • A kisebb feladatokhoz hosszadalmas programozást kell végeznie.

GYIK

A Django elsősorban egy backend keretrendszer, bár gyakran full-stack keretrendszerként írják le, mivel a sablonrétege HTML-t jelenít meg. Kezeli a szerveroldali logikát, az adatbázisokat, az útválasztást és a biztonságot, míg a sablonok a böngésző megjelenítését végzik.

A Django egy akkumulátoros, teljes értékű keretrendszer beépített ORM-mel, adminisztrációs panellel és hitelesítéssel. A Flask egy pehelykönnyű mikrokeretrendszer, amely minimalista marad, és ugyanazon funkciók kiterjesztéseire támaszkodik, nagyobb manuális vezérlést biztosítva a fejlesztőknek.

A Django ORM, vagy objektum-relációs leképező lehetővé teszi az adatbázistáblák definiálását a következőképpen: Python osztályok és lekérdezésükhöz Python kód nyers SQL helyett. Támogatja az olyan adatbázisokat, mint PostgreSQL, MySQL, SQLiteés Oracle.

Futtassa a python -m django –version parancsot a parancssorból, vagy nyisson meg egy Python parancsértelmezőt, majd futtassa az import django parancsot, amelyet a print(django.get_version()) parancs követ. Mindkettő megjeleníti a telepített Django kiadási számát.

A middleware hookok sorozata, amely minden kérést és választ globálisan feldolgoz. A Django middleware-t használ a munkamenetekhez, a hitelesítéshez, a CSRF-védelemhez és a biztonsági fejlécekhez, amelyek mindegyike sorrendben fut a nézet végrehajtása előtt és után.

Működő tudás Python és alapvető webes fogalmak, mint például a HTTP, a HTML és az adatbázisok ismerete szükséges. Az objektumorientált programozás megértése sokkal könnyebbé teszi a Django modellek és az osztályalapú nézetek elsajátítását.

Igen. A Django gyakran szolgál ki gépi tanulási modelleket nézeteken vagy a Django REST keretrendszeren keresztül, az előrejelzéseket API végpontokként elérhetővé téve. Egy betanított modell egyszer töltődik be indításkor, és a következtetési eredményeket visszaadja a webes vagy mobil klienseknek.

A GitHub Copilot és hasonló mesterséges intelligencia asszisztensek automatikusan kiegészítik a Django modelleket, nézeteket, URL mintákat és teszteket, és ismétlődő sablonokat is képezhetnek. Felgyorsítják a fejlesztést, bár a generált kódot mindig ellenőrizni kell a biztonság és a helyesség szempontjából.

Foglald össze ezt a bejegyzést a következőképpen: