Django oktatóanyag kezdőknek: Jellemzők, Architecture & History

Django bemutató összefoglaló

Ez a Django oktatóanyag a semmiből lefedi az összes alapvető témát. Ebben az oktatóanyagban megismerheti az olyan fogalmakat, mint a Django, a Django története, a Django funkciói, a Django keretrendszer jellemzői, a Django összetevői, az előnyök és hátrányok és még sok más.
A Django megtanulása előtt értsük meg:

Mi az a webes keretrendszer?

A webes keretrendszer egy olyan kódkönyvtár, amely segít rugalmas, méretezhető és karbantartható; dinamikus webhely, webalkalmazás és webszolgáltatások. Különféle webes keretrendszerek a Zend for PHP, Ruby on Rails Rubynak stb.

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 webalkalmazások létrehozásában és karbantartásában. Lehetővé teszi a fejlesztési folyamat zökkenőmentessé tételét és a gyors fejlesztés érdekében időmegtakarítást.

Miért Django? A Django legfontosabb előnyei

Íme a Django fő előnyei:

  • A Django beállítása és futtatása egyszerű. 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 nemzetköziesítési rendszerének segítségével többnyelvű weboldalakat tesz lehetővé
  • Segít gyorsan kielégíteni a hatalmas forgalmi igényeket
  • A Django-t minden típusú tartalomkezelő rendszer, közösségi hálózat, valamint tudományos számítástechnikai platform felépítésére használják.
  • A Django segít a végpontok közötti alkalmazások tesztelésében
  • Segít dokumentálni az API-t HTML-kimenettel
  • A REST Framework gazdag támogatást nyújt számos hitelesítési protokollhoz
  • Engedélyek és korlátozási szabályzatok
  • 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 Adian Holovaty és Simon Willison indította el a Lawrence Journal-World újság belső projektjeként.
július 2005 2005 júliusában jelent meg „Django” néven, amely Django Reinhard jazzgitárosról kapta a nevét.
június 2008 Kijelentette, hogy egy Django szoftver Foundation (DSF) fenntartaná a Django-t.
29 July 2009 Megjelent a Django 1.1-es verziója olyan funkciókkal, mint az Aggregates, tranzakció-alapú tesztek.
17 May 2010 Megjelent a Django 1.2 verziója. A frissítés olyan funkciókat kínál, mint például több adatbázis, az e-mail háttérrendszer megvalósítása, valamint a munkamenetek és a cookie-k fejlesztése ebben a verzióban.
Március 23 2011 Bevezették az 1.3-as verziót olyan funkciókkal, mint az osztályalapú nézetek, statikus fájlok
Március 23 2012 Elindult az 1.4-es verzió olyan új funkciókkal, mint az időzónák és a böngészőn belüli tesztelés
26 február 2013 1.5-ös verzió jár hozzá Python 3 Támogatás, konfigurálható felhasználói modell funkciók.
6 november 2013 Az 1.6-os verzió DB-tranzakciókezeléssel, kapcsolat-összevonási funkciókkal érkezik.
2 szeptember 2014 Az 1.7-es verzió új funkciókat tartalmazott, mint például az alkalmazások betöltése, áttelepítése és konfigurációja
1 április 2015 natív támogatás több sablonmotorhoz.
1 Dec 2015 Az 1.9-es verzióban bevezették az automatikus jelszóellenőrzési funkciót.
1 augusztus 2016 Az 1.10-es verzióban teljes szöveges keresés PostgreSQL indított.
4 április 2017 Az 1.11-es verzió lesz az utolsó támogatott verzió Python 2.7
2 Dec 2017 A 2.0-s verzió lesz az első python 3 - csak kiadási verzió.
1 augusztus 2018 A 2.1-es verzió Modell „view” engedélytámogató funkcióval érkezik.
2021 Eltávolítottuk a Django 3.0 támogatását és hozzáadtuk a Django 3.2 támogatást

Most ebben a Django kezdőknek oktatóanyagában ismerkedjünk meg a Django funkcióival.

A Django jellemzői

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

  • Segít az alkalmazásban található URL-címek mintáinak meghatározásában
  • Egyszerű, de hatékony URL rendszer
  • Beépített hitelesítési rendszer
  • Objektum-orientált programozási nyelvi adatbázis, amely kategóriájában a legjobb adattárolást és visszakeresést kínálja
  • Az automatikus rendszergazdai 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 igény szerint testreszabhatja.
  • A gyorsítótár-keretrendszer több gyorsítótár-mechanizmussal rendelkezik.

Most ebben a Django keretprogramban megismerkedünk a Django jellemzőivel.

A Django jellemzői

Íme a Django főbb jellemzői:

  • Loosely Coupled- 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ételhető – Mindent pontosan egy helyen kell fejleszteni ahelyett, hogy újra megismételnénk
  • Gyors fejlesztés – A Django gyors és megbízható alkalmazásfejlesztést kínál.
  • Következetes tervezés – A Django letisztult designt tart fenn, é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 biztosítanak (web vagy asztali), általában MVC architektúráról beszélünk. Az MVC minta modellen, nézeten és vezérlőn alapul.

Az Modell meghatározza az adatstruktúrát, é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 kezeli a felhasználói interakciót.

Django MVC-MVT minta

A Model-View-Template (MVT) az MVC-től eltérő koncepció. A fő különbség e két építészeti minta között az, hogy a Django maga kezeli a Controller részt (szoftverkód, amely vezérli a Modell és a Nézet közötti interakciókat). A sablon egy HTML-fájl, amely keverve van a Django Template Language fájllal, amelyet DTL-nek is neveznek.

Az alábbi diagram bemutatja, hogy az MVT-minta összes összetevője hogyan kölcsönhatásba lép egymással a felhasználói kérésnek megfelelően.

Django Architectúra: MVC és MVT

MVT Architectúra

Ahogy a fenti diagramon látható, a 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 az URL-ben.

Ha URL-leképezés van, a rendszer egy nézetet hív meg, amely kölcsönhatásba 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.

Most ebben a kezdőknek szóló Django oktatóanyagban 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, cookie-alapú felhasználói munkameneteket stb.

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 történő fordítását, a dátumok, időpontok, számok és időzónák terület-specifikus formázását.

Biztonság

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

  • 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, a Django-t használó cégek:

  • BitBucket
  • DISZKUSZ
  • NASA
  • PBS (Public Broadcasting Service)
  • pinterest
  • Instagram
  • Mozilla
  • The Washington Post
  • NY Times
  • LA Times
  • The Guardian National Geographic
  • Discovery Channel

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

  • Egy folyamat nem tud egyszerre több kérést kezelni.
  • A Django egy nagyon monolitikus eszköz.
  • Az összetevők együtt kerülnek telepítésre, ami zavart okozhat.
  • A Django használatához a teljes rendszer ismerete szükséges
  • A webalkalmazás-összetevőket szorosan összekapcsolja
  • A kisebb feladatokhoz hosszadalmas programozást kell végeznie.

Összegzésként

  • A Django egy webfejlesztési keretrendszer Python amely szabványos módszert kínál a gyors és hatékony weboldalfejlesztéshez.
  • A Django-t Adian Holovaty és Simon Willison indította el a Lawrence Journal-World újság belső projektjeként 2003-ban.
  • A Django segít dokumentálni az API-t HTML-kimenettel.
  • A Django lehetővé teszi az adminisztrációs panel testreszabását igény szerint.
  • A Django segít abban, hogy a verem minden eleme független legyen a többitől.
  • A fő különbség az MVC és az MVT építészeti minták között az, hogy a Django maga kezeli a Controller részt.
  • A Django architektúrájának alapvető összetevői a következők: Form, Authentication, Admin, Internationalization, Security.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla stb. használják a Django-t
  • A Django legnagyobb hátránya, hogy nem tud egyszerre több kérést kezelni.

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