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:

Django Architecture
Django Architecture

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.

Django Architecture: MVC og MVT

MVT udvidelse Architecture

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