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

  • 🔘 Rámec: Django je program na vysoké úrovni Python framework pro rychlé vytváření složitých webových aplikací řízených databází.
  • ☑️ Archistruktura: Vzor model-view-template (MVT) umožňuje Djangu spravovat kontroler a oddělovat data, logiku a prezentaci.
  • (Tj. Včetně baterií: Vestavěná administrace, ověřování, formuláře a internacionalizace eliminují většinu opakujících se instalačních prací.
  • 🛠️ Zabezpečení Výchozí ochranná opatření blokují CSRF, cross-site scripting, SQL injection a clickjacking.
  • 🧪 Měřítko: Instagram, Pinterest, Mozilla a Disqus se spoléhají na Django pro obsluhu velmi vysoké návštěvnosti.
  • 🤖 AI: Django slouží jako API modely strojového učení a asistenti jako GitHub Copilot urychlují kódování v backendu.

Výukový program Djanga pro začátečníky

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

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.

Django Architecture: MVC a MVT

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)
  • Pinterest
  • Instagram
  • 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í.

Nejčastější dotazy

Django je primárně backendový framework, ačkoli je často popisován jako full-stack, protože jeho vrstva šablon vykresluje HTML. Spravuje logiku na straně serveru, databáze, směrování a zabezpečení, zatímco šablony se starají o prezentaci pro prohlížeč.

Django je full-stack framework s integrovaným ORM, administračním panelem a ověřováním. Flask je lehký mikroframework, který si zachovává minimální rozměry a pro tytéž funkce se spoléhá na rozšíření, což vývojářům dává větší manuální kontrolu.

Django ORM neboli objektově-relační mapovač umožňuje definovat databázové tabulky jako Python třídy a dotazovat se na ně pomocí Python kód místo surového SQL. Podporuje databáze jako například PostgreSQL, MySQL, SQLite, a Oracle.

Spusťte python -m django –version z příkazového řádku nebo otevřete Python shell a spusťte příkaz import django následovaný příkazem print(django.get_version()). Oba zobrazí číslo nainstalované verze Djanga.

Middleware je série hooků, které zpracovávají každý požadavek a odpověď globálně. Django používá middleware pro relace, autentizaci, ochranu CSRF a bezpečnostní hlavičky, přičemž každý z nich běží v pořadí před a po spuštění vašeho zobrazení.

Pracovní znalost Python a základní webové koncepty, jako je HTTP, HTML a databáze, jsou vyžadovány. Pochopení objektově orientovaného programování usnadňuje učení se modelů Django a pohledů založených na třídách.

Ano. Django často poskytuje modely strojového učení prostřednictvím zobrazení nebo Django REST Frameworku, přičemž předpovědi zpřístupňuje jako koncové body API. Trénovaný model se načte jednou při spuštění a vrátí výsledky inference webovým nebo mobilním klientům.

GitHub Copilot a podobní AI asistenti automaticky doplňují modely, pohledy Django, URL vzory a testy a mohou vytvářet repetitivní šablony. Urychlují vývoj, i když by měl být vygenerovaný kód vždy zkontrolován z hlediska bezpečnosti a správnosti.

Shrňte tento příspěvek takto: