Django Handledning för nybörjare: Funktioner, ArchiTecture & History
Sammanfattning av Django handledning
Denna Django-handledning täcker alla grundämnen från grunden. I den här handledningen kommer du att lära dig begreppen som vad är Django, Django-historia, Django-funktioner, egenskaper hos Django-ramverket, Komponent av Django, Fördelar och nackdelar och mycket mer.
Innan vi lär oss Django, låt oss förstå:
Vad är ett webbramverk?
Ett webbramverk är ett kodbibliotek som hjälper dig att bygga en flexibel, skalbar och underhållbar; dynamisk webbplats, webbapp och webbtjänster. Olika webbramverk är Zend för PHP, Ruby on Rails för Ruby osv.
Vad är Django?
Django är ett webbutvecklingsramverk för Python som erbjuder standardmetoder för snabb och effektiv webbutveckling. Det primära målet med detta webbramverk på hög nivå är att skapa komplexa databasdrivna webbplatser. Det hjälper dig att bygga och underhålla webbapplikationer av hög kvalitet. Det gör att du kan göra utvecklingsprocessen smidig och tidsbesparande för snabb utveckling.
Varför Django? Viktiga fördelar med Django
Här är de viktigaste fördelarna med Django:
- Django är lätt att installera och köra. Den erbjuder en mängd olika alternativ för att komma igång
- Det tillhandahåller ett användargränssnitt som är färdigt att använda för administrativa aktiviteter
- Det möjliggör flerspråkiga webbplatser genom att använda sitt inbyggda internationaliseringssystem
- Hjälper dig att möta de enorma trafikbehoven snabbt
- Django används för att bygga alla typer av innehållshanteringssystem, sociala nätverk samt vetenskapliga datorplattformar.
- Django hjälper dig att tillhandahålla end-to-end applikationstestning
- Hjälper dig att dokumentera ditt API med en HTML-utdata
- REST Framework har rikt stöd för flera autentiseringsprotokoll
- Behörigheter och regler för strypning
- Det används ofta för hastighetsbegränsande API-förfrågningar från en enskild användare.
Djangos historia
År | Milestone |
---|---|
2003 | Projektet startades av Adian Holovaty och Simon Willison som ett internt projekt på tidningen Lawrence Journal-World |
juli 2005 | Den släpptes i juli 2005 som "Django", uppkallad efter jazzgitarristen Django Reinhard |
juni 2008 | Deklarerade att en Django-programvara Foundation (DSF) skulle behålla Django. |
29 juli 2009 | Django 1.1-versionen släpptes med funktioner som Aggregates, transaktionsbaserade tester. |
17 May 2010 | Django 1.2-versionen släpptes. Uppdateringen erbjöd funktioner som flera databaser, implementering av e-postbackend och förbättringar för sessioner och cookies görs i denna version. |
Mars 23 2011 | 1.3 version med funktioner som klassbaserade vyer, statiska filer introducerades |
Mars 23 2012 | 1.4 version lanserad med nya funktioner som tidszoner och testning i webbläsaren |
Februari 26 2013 | 1.5 version medföljer Python 3 Support, konfigurerbara användarmodellfunktioner. |
November 6 2013 | 1.6 version kommer med DB transaktionshantering, anslutning pooling funktioner. |
2 September 2014 | 1.7-versionen hade nya funktioner som applikationsladdning, migrering och konfiguration |
April 1 2015 | inbyggt stöd tillhandahålls för flera mallmotorer. |
1 Dec 2015 | I version 1.9 introducerades automatisk lösenordsvalidering. |
Augusti 1 2016 | I version 1.10 fulltextsökning efter PostgreSQL lanserats. |
April 4 2017 | 1.11 versionen blir den sista versionen att stödja Python 2.7 |
2 Dec 2017 | version 2.0 blir den första versionen av python 3-versionen. |
Augusti 1 2018 | version 2.1 kommer med stödfunktion för tillstånd för modell "visa". |
2021 | Borttaget stöd för Django 3.0 och lagt till stöd för Django 3.2 |
Nu i denna handledning för Django för nybörjare, låt oss lära oss om funktionerna i Django.
Funktioner hos Django
Nedan är funktionerna i Django:
- Hjälper dig att definiera mönster för webbadresserna i din applikation
- Enkelt men kraftfullt URL-system
- Inbyggt autentiseringssystem
- Objektorienterad databas för programmeringsspråk som erbjuder bästa klassens datalagring och hämtning
- Funktionen för automatisk administratörsgränssnitt tillåter funktionen att lägga till, redigera och ta bort objekt. Du kan anpassa adminpanelen efter dina behov.
- Cache-ramverket kommer med flera cache-mekanismer.
Nu i denna handledning för Django-ramverket kommer vi att lära oss om egenskaperna hos Django.
Egenskaper hos Django
Här är de viktigaste egenskaperna hos Django:
- Loosely Coupled- Django hjälper dig att göra varje element i sin stack oberoende av de andra.
- Less kod- Säkerställer effektiv utveckling
- Inte upprepas- Allt ska utvecklas på exakt ett ställe istället för att upprepa det igen
- Snabb utveckling- Django's erbjuder snabb och pålitlig applikationsutveckling.
- Konsekvent design - Django har en ren design och gör det enkelt att följa de bästa metoderna för webbutveckling.
Nästa i denna Django nybörjarhandledning kommer vi att lära oss om Djangos arkitektur.
Django Architecture: MVC och MVT
Nedan är en detaljerad arkitektur av Django:
MVC-mönster
När vi pratar om applikationer som tillhandahåller UI (webb eller skrivbord) talar vi vanligtvis om MVC-arkitektur. MVC-mönster är baserat på Model, View och Controller.
Din Modell definierar datastrukturen och tar hand om databasen.
Din Visa definierar vilken data som ska presenteras och returnerar ett HTTP-svar.
Din Regulator är den del av applikationen som hanterar användarinteraktionen.
Django MVC-MVT mönster
Model-View-Template (MVT) är ett annat koncept jämfört med MVC. Den största skillnaden mellan dessa två arkitektoniska mönster är att Django själv hanterar Controller-delen (programvarukod som styr interaktionerna mellan modellen och vyn). Mallen är en HTML-fil som blandas med Django Template Language-fil som även kallas DTL.
Nedanstående diagram visar hur alla komponenter i MVT-mönstret interagerar med varandra för att fungera specifikt för en användarförfrågan.
Som framgår av diagrammet ovan begär en användare en resurs till Django. Django fungerar som kontrollant och kontrollerar den tillgängliga resursen i URL.
Om URL mappar anropas en vy som interagerar med modell och mall. Django svarar sedan användaren och skickar en mall som svar.
Nu i den här Django-handledningsserien för nybörjare kommer vi att lära oss om komponenter i Django.
Komponenter av Django
Form
Django har ett kraftfullt formulärbibliotek som hanterar rendering av formulär som HTML. Biblioteket hjälper till att validera inlämnade data och konvertera dem till Python typer.
Autentisering
Den hanterar användarkonton, grupper, cookie-baserade användarsessioner, etc.
Administration
Den läser metadata i dina modeller för att ge ett robust gränssnitt som kan användas för att hantera innehåll på din webbplats.
internationalisering
Django tillhandahåller stöd för översättning av text till olika språk, lokalspecifik formatering av datum, tider, siffror och tidszoner.
Säkerhet
Django ger skydd mot följande attacker:
- Cross-Site Request Forgery (CSRF)
- Cross-site scripting
- SQL-injektion
- Clickjacking
- Fjärrkörning av kod
Kända företag som använder Django
Här är företag som använder Django:
- Bit hink
- Disqus
- NASA
- PBS (Public Broadcasting Service)
- Mozilla
- The Washington Post
- NY Times
- LA Times
- The Guardian National Geographic
- Discovery Channel
Nackdelar med att använda Django
- En process kan inte hantera flera förfrågningar samtidigt.
- Django är ett mycket monolitiskt verktyg.
- Komponenter distribueras tillsammans vilket kan skapa förvirring.
- Kunskaper om hela systemet behövs för att fungera på Django
- Gör webbapplikationskomponenter tätt sammankopplade
- Du behöver göra långvarig programmering för mindre uppgifter.
Sammanfattning
- Django är ett webbutvecklingsramverk för Python som erbjuder en standardmetod för snabb och effektiv webbutveckling.
- Django startade var av Adian Holovaty och Simon Willison som ett internt projekt på Lawrence Journal-World tidningen 2003
- Django hjälper dig att dokumentera ditt API med en HTML-utdata.
- Django låter dig anpassa adminpanelen efter dina behov.
- Django hjälper dig att göra varje element i sin stack oberoende av de andra.
- Den största skillnaden mellan MVC- och MVT-arkitektoniska mönster är att Django själv hanterar Controller-delen.
- Viktiga komponenter i Djangos arkitektur är: Form, Autentisering, Admin, Internationalisering, Säkerhet.
- Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla, etc. använder Django
- Den största nackdelen med Django är att den inte kan hantera flera förfrågningar samtidigt.