Výukový program Django pro začátečníky: Funkce, Architecture & History

Shrnutí výukového programu Django

Tento tutoriál Django pokrývá všechna základní témata od začátku. V tomto tutoriálu se naučíte pojmy jako co je Django, historie Django, funkce Django, vlastnosti rámce Django, komponenta Django, výhody a nevýhody a mnoho dalšího.
Než se naučíte Django, pochopme:

Co je to Web Framework?

Webový rámec je knihovna kódu, která vám pomůže vytvořit flexibilní, škálovatelný a udržovatelný; dynamické webové stránky, webové aplikace a webové služby. Různé webové rámce jsou Zend for PHP, Ruby on Rails pro Ruby atd.

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 rámce na vysoké úrovni je vytvářet složité weby založené na databázi. Pomáhá vám vytvářet a udržovat kvalitní webové aplikace. Umožňuje vám, aby byl vývojový proces hladký a časově úsporný pro rychlý vývoj.

Proč Django? Klíčové výhody Django

Zde jsou hlavní výhody Django:

  • Django je snadné nastavit a spustit. Nabízí různé možnosti, jak začít
  • 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 splnit masivní požadavky na provoz
  • Django se používá k budování všech typů systémů pro správu obsahu, sociálních sítí i vědeckých počítačových platforem.
  • Django vám pomůže zajistit komplexní testování aplikací
  • Pomáhá vám dokumentovat vaše API pomocí výstupu HTML
  • REST Framework má bohatou podporu pro několik autentizačních protokolů
  • Oprávnění a zásady omezování
  • 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 Adian Holovaty a Simon Willison jako interní projekt v novinách Lawrence Journal-World
července 2005 Vyšlo v červenci 2005 jako „Django“, pojmenované po jazzovém kytaristovi Django Reinhardovi.
června 2008 Prohlášeno za Django Software Foundation (DSF) udrží Djanga.
29 July 2009 Byla vydána verze Django 1.1 s funkcemi jako Aggregates, testy založené na transakcích.
17 May 2010 Byla vydána verze Django 1.2. Aktualizace nabídla funkce, jako je více databází, Implementace e-mailového backendu a vylepšení pro relace a soubory cookie v této verzi.
Mar 23 2011 Verze 1.3 s funkcemi, jako jsou pohledy založené na třídě, byly zavedeny statické soubory
Mar 23 2012 Spuštěna verze 1.4 s novými funkcemi, jako jsou časová pásma a testování v prohlížeči
26 2013 února Verze 1.5 je dodávána s Python 3 Podpora, konfigurovatelné funkce uživatelského modelu.
Listopadu 6 2013 Verze 1.6 přichází se správou transakcí DB a funkcemi sdružování připojení.
2 2014 září Verze 1.7 měla nové funkce, jako je zatížení aplikace, migrace a konfigurace
Dubna 1 2015 nativní podpora poskytovaná pro více šablon šablon.
1 Dec 2015 Ve verzi 1.9 byla zavedena funkce automatického ověřování hesla.
Srpna 1 2016 Ve verzi 1.10 fulltextové vyhledávání PostgreSQL zahájena.
Dubna 4 2017 Verze 1.11 se stává poslední podporovanou verzí Python 2.7
2 Dec 2017 verze 2.0 se stává první verzí pouze pro python 3.
Srpna 1 2018 verze 2.1 přichází s funkcí podpory oprávnění „zobrazit“ model.
2021 Odebrána podpora pro Django 3.0 a přidána podpora Django 3.2

Nyní v tomto tutoriálu Django pro začátečníky se pojďme dozvědět o funkcích Django.

Vlastnosti Django

Níže jsou vlastnosti Django:

  • Pomáhá vám definovat vzory pro adresy URL ve vaší aplikaci
  • Jednoduchý, ale výkonný URL systém
  • Vestavěný autentizační systém
  • Databáze objektově orientovaného programovacího jazyka, která nabízí nejlepší ukládání a vyhledávání dat ve své třídě
  • Funkce automatického administrátorského rozhraní umožňuje funkci přidávání, úpravy a mazání položek. Panel administrátora si můžete přizpůsobit podle svých potřeb.
  • Rámec mezipaměti přichází s několika mechanismy mezipaměti.

Nyní v tomto tutoriálu frameworku Django se seznámíme s vlastnostmi Django.

Charakteristika Django

Zde jsou hlavní charakteristiky Django:

  • Volně spojeno – 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še by se mělo rozvíjet přesně na jednom místě, místo aby se to opakovalo znovu
  • Rychlý vývoj – Django's nabízí rychlý a spolehlivý vývoj aplikací.
  • Konzistentní design – Django zachovává čistý design a usnadňuje dodržování nejlepších postupů při vývoji webu.

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í (web nebo desktop), obvykle mluvíme o architektuře MVC. Vzor MVC je založen na modelu, pohledu a ovladači.

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 ta část aplikace, která zpracovává interakci uživatele.

Vzor Django MVC-MVT

Model-View-Template (MVT) je odlišný koncept ve srovnání s MVC. Hlavní rozdíl mezi těmito dvěma architektonickými vzory je v tom, že samotný Django spravuje část Controller (softwarový kód, který řídí interakce mezi modelem a pohledem). Šablona je soubor HTML smíchaný se souborem Django Template Language, který se také nazývá DTL.

Níže uvedený diagram ukazuje, jak se všechny komponenty vzoru MVT vzájemně ovlivňují, aby sloužily specifickému pro požadavek uživatele.

Django Architecture: MVC a MVT

rozšíření MVT Architecture

Jak je vidět na výše uvedeném diagramu, uživatel požaduje zdroj pro Django. Django funguje jako kontrolér a kontroluje dostupný zdroj v URL.

Pokud se URL mapuje, nazývá se pohled, který spolupracuje s modelem a šablonou. Django poté uživateli odpoví a jako odpověď odešle šablonu.

Nyní v této sérii Django tutoriálů pro začátečníky se seznámíme s komponentami Django.

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

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ů, formátování dat, časů, čísel a časových pásem specifické pro národní prostředí.

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
  • DISKUS
  • NASA
  • PBS (Public Broadcasting Service)
  • Pinterest
  • instagramu
  • Mozilla
  • Washington Post
  • NY Times
  • LA Times
  • The Guardian National Geographic
  • Discovery Channel

Nevýhody použití Django

  • 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.
  • Znalost celého systému potřebná pro práci na Django
  • Dělá komponenty webové aplikace pevně propojené
  • Pro menší úkoly musíte dělat zdlouhavé programování.

Shrnutí

  • Django je framework pro vývoj webu Python který nabízí standardní metodu pro rychlý a efektivní vývoj webových stránek.
  • Django zahájili Adian Holovaty a Simon Willison jako interní projekt v novinách Lawrence Journal-World v roce 2003
  • Django vám pomůže zdokumentovat vaše API pomocí výstupu HTML.
  • Django vám umožňuje přizpůsobit panel správce podle vašich potřeb.
  • Django vám pomůže učinit každý prvek jeho zásobníku nezávislým na ostatních.
  • Hlavní rozdíl mezi architektonickými vzory MVC a MVT je v tom, že Django sám spravuje část Controller.
  • Základní komponenty architektury Django jsou: Form, Authentication, Admin, Internationalization, Security.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla atd. používají Django
  • Největší nevýhodou Django je, že nedokáže zpracovat více požadavků současně.