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ó:
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.
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)
- 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.