Django Tutorial for begyndere: Funktioner, ArchiTecture & Historie
Resumé af Django-tutorial
Denne Django-tutorial dækker alle de grundlæggende emner fra bunden. I denne tutorial lærer du begreber som hvad er Django, Django-historie, Django-funktioner, Karakteristik af Django-rammeværk, Komponent af Django, Fordele og ulemper og meget mere.
Før vi lærer Django, lad os forstå:
Hvad er en Web Framework?
En webramme er et kodebibliotek, som hjælper dig med at opbygge en fleksibel, skalerbar og vedligeholdelsesbar; dynamisk hjemmeside, webapp og webtjenester. Forskellige web-frameworks er Zend til PHP, Ruby on Rails til Ruby osv.
Hvad er Django?
Django er en webudviklingsramme for Python som tilbyder standardmetoder til hurtig og effektiv hjemmesideudvikling. Det primære mål med denne webramme på højt niveau er at skabe komplekse databasedrevne websteder. Det hjælper dig med at bygge og vedligeholde kvalitetswebapplikationer. Det giver dig mulighed for at gøre udviklingsprocessen smidig og tidsbesparende for hurtig udvikling.
Hvorfor Django? Vigtigste fordele ved Django
Her er de vigtigste fordele ved Django:
- Django er nem at sætte op og køre. Det tilbyder en række muligheder for at komme i gang
- Det giver en klar til brug brugergrænseflade til administrative aktiviteter
- Det muliggør flersprogede websteder ved at bruge dets indbyggede internationaliseringssystem
- Hjælper dig med at imødekomme de massive trafikkrav hurtigt
- Django bruges til at bygge alle typer indholdsstyringssystemer, sociale netværk samt videnskabelige computerplatforme.
- Django hjælper dig med at levere end-to-end applikationstest
- Hjælper dig med at dokumentere din API med et HTML-output
- REST Framework har rig understøttelse af flere godkendelsesprotokoller
- Tilladelser og drosselpolitikker
- Det er meget brugt til hastighedsbegrænsende API-anmodninger fra en enkelt bruger.
Djangos historie
År | Milestone |
---|---|
2003 | Projektet blev startet af Adian Holovaty og Simon Willison som et internt projekt hos avisen Lawrence Journal-World |
Juli 2005 | Den blev udgivet i juli 2005 som "Django", opkaldt efter jazzguitaristen Django Reinhard |
juni 2008 | Erklæret, at en Django-software Foundation (DSF) ville fastholde Django. |
29 juli 2009 | Django 1.1-versionen blev udgivet med funktioner som Aggregates, transaktionsbaserede tests. |
17 May 2010 | Django 1.2 version blev frigivet. Opdateringen tilbød funktioner som flere databaser, implementering af e-mail backend og forbedringer til sessioner og cookie er lavet i denne version. |
Marts 23 2011 | 1.3 version med funktioner som klassebaserede visninger, statiske filer blev introduceret |
Marts 23 2012 | 1.4 version lanceret med nye funktioner som tidszoner og test i browser |
26 februar 2013 | 1.5 version medfølger Python 3 Support, konfigurerbare brugermodelfunktioner. |
November 6 2013 | 1.6-versionen leveres med DB-transaktionsstyring, forbindelsespuljefunktioner. |
2 September 2014 | 1.7-versionen havde nye funktioner som applikationsindlæsning, migreringer og konfiguration |
1 april 2015 | indbygget support til flere skabelonmotorer. |
1 Dec 2015 | I version 1.9 blev den automatiske adgangskodevalideringsfunktion introduceret. |
August 1 2016 | I 1.10 version fuldtekst søg efter PostgreSQL lanceret. |
4 april 2017 | 1.11-versionen bliver den sidste version, der understøttes Python 2.7 |
2 Dec 2017 | version 2.0 bliver den første version med kun python 3-udgivelse. |
August 1 2018 | version 2.1 leveres med model "view"-tilladelsessupportfunktion. |
2021 | Fjernet understøttelse af Django 3.0 og tilføjet Django 3.2-understøttelse |
Lad os nu i denne Django for begyndere-tutorial lære om funktionerne i Django.
Funktioner af Django
Nedenfor er funktionerne i Django:
- Hjælper dig med at definere mønstre for URL'erne i din applikation
- Enkelt men kraftfuldt URL-system
- Indbygget autentificeringssystem
- Objektorienteret programmeringssprogsdatabase, som tilbyder klassens bedste datalagring og -hentning
- Funktionen til automatisk admin-grænseflade giver mulighed for at tilføje, redigere og slette elementer. Du kan tilpasse administrationspanelet efter dit behov.
- Cache-framework leveres med flere cache-mekanismer.
Nu i denne Django-rammevejledning lærer vi om karakteristika ved Django.
Karakteristika for Django
Her er de vigtigste egenskaber ved Django:
- Loosely Coupled- Django hjælper dig med at gøre hvert element i sin stak uafhængigt af de andre.
- Less kode- Sikrer effektiv udvikling
- Ikke gentaget - Alt skal udvikles på præcis ét sted i stedet for at gentage det igen
- Hurtig udvikling- Django's tilbyder hurtig og pålidelig applikationsudvikling.
- Konsekvent design- Django opretholder et rent design og gør det nemt at følge den bedste webudviklingspraksis.
Næste i denne Django-begyndertutorial lærer vi om Djangos arkitektur.
Django Architecture: MVC og MVT
Nedenfor er en detaljeret arkitektur af Django:
MVC mønster
Når vi taler om applikationer, der giver UI (web eller desktop), taler vi normalt om MVC-arkitektur. MVC-mønster er baseret på Model, View og Controller.
Model definerer datastrukturen og sørger for at forespørge databasen.
Specifikation definerer hvilke data der skal præsenteres og returnerer et HTTP-svar.
controller er den del af applikationen, der håndterer brugerinteraktionen.
Django MVC-MVT mønster
Model-View-Template (MVT) er et andet koncept sammenlignet med MVC. Den største forskel mellem disse to arkitektoniske mønstre er, at Django selv administrerer Controller-delen (softwarekode, der styrer interaktionerne mellem modellen og visningen). Skabelonen er en HTML-fil, som blandes med Django Template Language-fil, som også kaldes DTL.
Nedenstående diagram viser, hvordan alle komponenterne i MVT-mønsteret interagerer med hinanden for at tjene specifikt til en brugeranmodning.
Som det ses i ovenstående diagram, anmoder en bruger om en ressource til Django. Django fungerer som controller og kontrollerer den tilgængelige ressource i URL.
Hvis URL maps, kaldes en visning, som interagerer med model og skabelon. Django svarer derefter til brugeren og sender en skabelon som svar.
Nu i denne Django-tutorials for begyndere-serien lærer vi om komponenter i Django.
Komponenter af Django
Form
Django har et kraftfuldt formularbibliotek, som håndterer gengivelse af formularer som HTML. Biblioteket hjælper med at validere indsendte data og konvertere dem til Python typer.
Godkendelse
Det håndterer brugerkonti, grupper, cookie-baserede brugersessioner osv.
Admin
Den læser metadata i dine modeller for at give en robust grænseflade, som kan bruges til at administrere indhold på dit websted.
Internationalisering
Django understøtter oversættelse af tekst til forskellige sprog, lokalitetsspecifik formatering af datoer, klokkeslæt, tal og tidszoner.
Sikkerhed
Django yder beskyttelse mod følgende angreb:
- Cross-Site Request Forgery (CSRF)
- Cross-site scripting
- SQL-indsprøjtning
- Clickjacking
- Fjernkørsel af kode
Berømte virksomheder, der bruger Django
Her er virksomheder, der bruger Django:
- Bitbucket
- DISQUS
- NASA
- PBS (Public Broadcasting Service)
- Mozilla
- The Washington Post
- NY Times
- LA Times
- The Guardian National Geographic
- Discovery Channel
Ulemper ved at bruge Django
- En proces kan ikke håndtere flere anmodninger samtidigt.
- Django er et meget monolitisk værktøj.
- Komponenter bliver implementeret sammen, hvilket kan skabe forvirring.
- Kendskab til hele systemet er nødvendigt for at arbejde på Django
- Gør webapplikationskomponenter tæt sammenkoblede
- Du skal lave langvarig programmering til mindre opgaver.
Resumé
- Django er en webudviklingsramme til Python som tilbyder en standardmetode til hurtig og effektiv hjemmesideudvikling.
- Django startede blev af Adian Holovaty og Simon Willison som et internt projekt på avisen Lawrence Journal-World i 2003
- Django hjælper dig med at dokumentere din API med et HTML-output.
- Django giver dig mulighed for at tilpasse administrationspanelet efter dit behov.
- Django hjælper dig med at gøre hvert element i sin stak uafhængigt af de andre.
- Den største forskel mellem MVC- og MVT-arkitektoniske mønstre er, at Django selv administrerer Controller-delen.
- Væsentlige komponenter i Djangos arkitektur er: Form, Autentificering, Admin, Internationalisering, Sikkerhed.
- Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla osv. bruger Django
- Den største ulempe ved Django er, at den ikke kan håndtere flere anmodninger samtidigt.