Výukový program Django: Funkce, Architecture & History
⚡ Chytré shrnutí
Django je bezplatný, open-source program Python webový framework postavený na vzoru model-view-template, který umožňuje rychlý vývoj bezpečných, škálovatelných webových stránek řízených databází prostřednictvím opakovaně použitelných komponent, automatického administrátorského rozhraní a designu s bateriemi v ceně.

Django pohání některé z největších webů na webu a zároveň udržujeping Každodenní vývoj je rychlý a organizovaný. Než se v následujících částech seznámíme s jeho funkcemi, architekturou a historií, začneme se základy webových frameworků a s tím, co odlišuje Django.
Shrnutí výukového programu Django
Tento tutoriál o Djangu pokrývá všechna základní témata od nuly. V tomto tutoriálu se naučíte koncepty, jako je co je Django, jeho historie, jeho funkce, charakteristiky frameworku Django, komponenty Djanga, jeho výhody a nevýhody a mnoho dalšího.
Než se naučíme Django, pojďme si ujasnit:
Co je to Web Framework?
Webový framework je knihovna kódu, která vám pomáhá vytvořit flexibilní, škálovatelný a udržovatelný dynamický web, webovou aplikaci nebo webovou službu. Mezi různé webové frameworky patří Zend pro PHP, Ruby on Rails pro Ruby a další.
Co je Django?
Django je framework pro vývoj webu Python který nabízí standardní metody pro rychlý a efektivní vývoj webových stránek. Primárním cílem tohoto webového frameworku na vysoké úrovni je vytvářet komplexní webové stránky řízené databází. Pomáhá vám vytvářet a udržovat kvalitní webové aplikace. Umožňuje vám usnadnit proces vývoje a ušetřit čas pro rychlý vývoj.
Proč Django? Klíčové výhody Django
Zde jsou hlavní výhody Django:
- Django se snadno nastavuje a spouští. Nabízí řadu možností pro začátek.
- Poskytuje uživatelské rozhraní připravené k použití pro administrativní činnosti.
- Umožňuje vícejazyčné webové stránky pomocí vestavěného systému internacionalizace.
- Pomůže vám rychle uspokojit obrovské požadavky na dopravu.
- Django se používá k vytváření všech typů systémů pro správu obsahu, sociálních sítí a také platforem pro vědecké výpočty.
- Django vám pomůže s komplexním testováním aplikací.
- Pomůže vám zdokumentovat vaše API pomocí HTML výstupu.
- REST framework má bohatou podporu pro několik autentizačních protokolů.
- Nabízí oprávnění a zásady pro omezení.
- Je široce používán pro požadavky API omezující rychlost od jednoho uživatele.
Historie Django
| Rok výroby | Milestone |
|---|---|
| 2003 | Projekt zahájili Adrian Holovaty a Simon Willison jako interní projekt v novinách Lawrence Journal-World. |
| července 2005 | Bylo vydáno v červenci 2005 pod názvem „Django“, pojmenované po jazzovém kytaristovi Django Reinhardtovi. |
| června 2008 | Bylo prohlášeno, že software Django Foundation (DSF) udrží Djanga. |
| 29 July 2009 | Django 1.1 byl vydán s funkcemi, jako jsou agregáty a transakční testy. |
| 17 May 2010 | Byl vydán Django 1.2. Aktualizace nabídla funkce jako více databází a backend pro e-maily a byla provedena vylepšení pro relace a soubory cookie. |
| Mar 23 2011 | Verze 1.3 zavedla funkce jako pohledy založené na třídách a statické soubory. |
| Mar 23 2012 | Verze 1.4 byla spuštěna s novými funkcemi, jako jsou časová pásma a testování v prohlížeči. |
| 26 2013 února | Verze 1.5 byla dodávána s Python 3 podporované a konfigurovatelné funkce uživatelského modelu. |
| Listopadu 6 2013 | Verze 1.6 obsahovala funkce pro správu databázových transakcí a sdružování připojení. |
| 2 2014 září | Verze 1.7 měla nové funkce, jako je načítání aplikací, migrace a konfigurace. |
| Dubna 1 2015 | Pro více šablonovacích modulů byla poskytována nativní podpora. |
| 1 Dec 2015 | Ve verzi 1.9 byla zavedena funkce automatického ověřování hesla. |
| Srpna 1 2016 | Ve verzi 1.10 je k dispozici fulltextové vyhledávání pro PostgreSQL byla zahájena. |
| Dubna 4 2017 | Verze 1.11 se stala poslední verzí, která podporovala Python 2.7. |
| 2 Dec 2017 | Verze 2.0 se stala první Python Verze pouze pro 3. vydání. |
| Srpna 1 2018 | Verze 2.1 obsahovala funkce podpory oprávnění „zobrazení“ modelu. |
| 2021 | Odebrána podpora pro Django 3.0 a přidána podpora pro Django 3.2. |
V tomto tutoriálu Django pro začátečníky se nyní seznámíme s funkcemi Djanga.
Vlastnosti Django
Níže jsou vlastnosti Django:
- Pomáhá vám definovat vzory pro URLve vaší aplikaci.
- Jednoduché, ale výkonné URL systém.
- Vestavěný systém ověřování.
- Databáze v objektově orientovaném programovacím jazyce, která nabízí nejlepší ukládání a načítání dat ve své třídě.
- Funkce automatického administrátorského rozhraní umožňuje přidávání, úpravu a mazání položek. Administrátorský panel si můžete přizpůsobit podle svých potřeb.
- Rámec mezipaměti je dodáván s několika mechanismy mezipaměti.
V tomto tutoriálu o Django frameworku se nyní seznámíme s vlastnostmi Djanga.
Charakteristika Django
Zde jsou hlavní charakteristiky Django:
- Volně vázané – Django vám pomůže učinit každý prvek jeho zásobníku nezávislým na ostatních.
- Less kód – Zajišťuje efektivní rozvoj.
- Neopakuje se – Všechno by mělo být vyvíjeno přesně na jednom místě, a ne se to opakovat.
- Rychlý vývoj – Django nabízí rychlý a spolehlivý vývoj aplikací.
- Konzistentní design – Django si udržuje čistý design a usnadňuje dodržování osvědčených postupů pro webový vývoj.
Dále v tomto tutoriálu pro začátečníky Django se seznámíme s architekturou Django.
Django Architecture: MVC a MVT
Níže je podrobná architektura Django:
Django Architecture
Vzor MVC
Když mluvíme o aplikacích, které poskytují uživatelské rozhraní (webové nebo desktopové), obvykle mluvíme o architektuře MVC. Vzor MVC je založen na modelu, zobrazení a kontroleru.
Jedno Model definuje datovou strukturu a stará se o dotazování databáze.
Jedno Zobrazit definuje, jaká data by měla být prezentována, a vrací odpověď HTTP.
Jedno kontrolor je část aplikace, která se stará o interakci s uživatelem.
Vzor Django MVC-MVT
Model-View-Template (MVT) je odlišný koncept od MVC. Hlavní rozdíl mezi těmito dvěma architektonickými vzory spočívá v tom, že Django samo spravuje kontroler (softwarový kód, který řídí interakce mezi modelem a zobrazením). Šablona je soubor HTML, který je smíchán se souborem jazyka šablon Django, nazývaným také DTL.
Níže uvedený diagram ukazuje, jak všechny komponenty vzoru MVT vzájemně interagují, aby obsloužily konkrétní uživatelský požadavek.
rozšíření MVT Architecture
Jak je vidět na výše uvedeném diagramu, uživatel požaduje zdroj od Djanga. Django funguje jako kontrolér a kontroluje dostupné zdroje v URL.
V případě, že URL V mapách se volá zobrazení, které interaguje s modelem a šablonou. Django poté reaguje uživateli a odesílá šablonu jako odpověď.
V této sérii tutoriálů Django pro začátečníky se nyní dozvíme o komponentách Djanga.
Komponenty Django
Formulář
Django má výkonnou knihovnu formulářů, která zpracovává vykreslování formulářů jako HTML. Knihovna pomáhá při ověřování odeslaných dat a jejich převodu na Python typy.
Ověřování
Zpracovává uživatelské účty, skupiny, uživatelské relace založené na souborech cookie a další.
administrátor
Čte metadata ve vašich modelech a poskytuje robustní rozhraní, které lze použít ke správě obsahu na vašem webu.
Internacionalizace
Django poskytuje podporu pro překlad textu do různých jazyků a formátování data, času, čísel a časových pásem specifické pro dané místo.
Bezpečnost
Django poskytuje ochranu proti následujícím útokům:
- Falšování požadavků mezi stránkami (CSRF)
- Skriptování mezi lokalitami
- SQL injection
- Clickjacking
- Vzdálené spuštění kódu
Slavné společnosti používající Django
Zde jsou společnosti, které používají Django:
- Bitbucket
- Disqus
- NASA
- PBS (Public Broadcasting Service)
- Mozilla
- Washington Post
- The New York Times
- Los Angeles Times
- Guardian
- národní geografie
- Discovery Channel
Nevýhody použití Django
Zde jsou některé nevýhody používání Djanga:
- Jeden proces nemůže zpracovat více požadavků současně.
- Django je velmi monolitický nástroj.
- Komponenty se nasazují společně, což může způsobit zmatek.
- Pro práci s Django je nutná znalost celého systému.
- Díky tomu jsou komponenty webové aplikace pevně propojené.
- Pro menší úkoly musíte dělat zdlouhavé programování.


