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.

A Modell meghatározza az adatstruktúrát, és gondoskodik az adatbázis lekérdezéséről.

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

A 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.