Django-opplæring for nybegynnere: funksjoner, Archilære og historie
Oppsummering av Django-opplæringen
Denne Django-opplæringen dekker alle de grunnleggende emnene fra bunnen av. I denne opplæringen vil du lære konsepter som hva er Django, Django-historie, Django-funksjoner, Kjennetegn ved Django-rammeverket, Komponent av Django, Fordeler og ulemper, og mye mer.
Før vi lærer Django, la oss forstå:
Hva er et nettrammeverk?
Et nettrammeverk er et kodebibliotek som hjelper deg med å bygge en fleksibel, skalerbar og vedlikeholdbar; dynamisk nettsted, nettapp og nettjenester. Ulike nettrammeverk er Zend for PHP, Ruby on Rails for Ruby osv.
Hva er Django?
Django er et webutviklingsrammeverk for Python som tilbyr standardmetoder for rask og effektiv nettsideutvikling. Hovedmålet med dette høynivånettrammeverket er å lage komplekse databasedrevne nettsteder. Det hjelper deg å bygge og vedlikeholde nettapplikasjoner av høy kvalitet. Det lar deg gjøre utviklingsprosessen jevn og tidsbesparende for rask utvikling.
Hvorfor Django? Viktige fordeler med Django
Her er de viktigste fordelene med Django:
- Django er lett å sette opp og kjøre. Den tilbyr en rekke alternativer for å komme i gang
- Det gir et brukergrensesnitt som er klart til bruk for administrative aktiviteter
- Det muliggjør flerspråklige nettsteder ved å bruke det innebygde internasjonaliseringssystemet
- Hjelper deg å møte de enorme trafikkkravene raskt
- Django brukes til å bygge alle typer innholdsstyringssystemer, sosiale nettverk samt vitenskapelige dataplattformer.
- Django hjelper deg med å gi ende-til-ende applikasjonstesting
- Hjelper deg å dokumentere API-en din med en HTML-utdata
- REST Framework har rik støtte for flere autentiseringsprotokoller
- Tillatelser og struperegler
- Det er mye brukt for ratebegrensende API-forespørsler fra en enkelt bruker.
Historien til Django
År | Milepæl |
---|---|
2003 | Prosjektet ble startet av Adian Holovaty og Simon Willison som et internt prosjekt i avisen Lawrence Journal-World |
juli 2005 | Den ble utgitt i juli 2005 som "Django", oppkalt etter jazzgitaristen Django Reinhard |
juni 2008 | Erklærte at en Django-programvare Foundation (DSF) ville opprettholde Django. |
29 juli 2009 | Django 1.1-versjonen ble utgitt med funksjoner som Aggregates, transaksjonsbaserte tester. |
17 mai 2010 | Django 1.2-versjonen ble utgitt. Oppdateringen tilbød funksjoner som flere databaser, implementering av e-poststøtte og forbedringer for økter og informasjonskapsler er laget i denne versjonen. |
Mars 23 2011 | 1.3-versjon med funksjoner som klassebaserte visninger, statiske filer ble introdusert |
Mars 23 2012 | 1.4-versjon lansert med nye funksjoner som tidssoner og testing i nettleseren |
26 februar 2013 | 1.5 versjon følger med Python 3 Støtte, konfigurerbare brukermodellfunksjoner. |
6 november 2013 | 1.6-versjon leveres med DB-transaksjonsadministrasjon, funksjoner for tilkoblingspooling. |
2 september 2014 | 1.7-versjonen hadde nye funksjoner som applikasjonslasting, migreringer og konfigurasjon |
April 1 2015 | innebygd støtte for flere malmotorer. |
1 Dec 2015 | I versjon 1.9 ble funksjonen for automatisk passordvalidering introdusert. |
August 1 2016 | I 1.10 versjon fulltekstsøk etter PostgreSQL lansert. |
April 4 2017 | 1.11-versjonen blir den siste versjonen som støttes Python 2.7 |
2 Dec 2017 | versjon 2.0 blir den første python 3-utgivelsesversjonen. |
August 1 2018 | versjon 2.1 kommer med støttefunksjon for modell "vis" tillatelse. |
2021 | Fjernet støtte for Django 3.0 og lagt til Django 3.2-støtte |
Nå i denne Django for nybegynneropplæringen, la oss lære om funksjonene til Django.
Funksjoner av Django
Nedenfor er funksjonene til Django:
- Hjelper deg med å definere mønstre for URL-ene i applikasjonen din
- Enkelt, men kraftig URL-system
- Innebygd autentiseringssystem
- Objektorientert programmeringsspråkdatabase som tilbyr best i klassen datalagring og gjenfinning
- Automatisk administrasjonsgrensesnitt gir funksjonaliteten til å legge til, redigere og slette elementer. Du kan tilpasse administrasjonspanelet etter behov.
- Cache-rammeverket kommer med flere hurtigbuffermekanismer.
Nå i denne Django-rammeveiledningen vil vi lære om egenskapene til Django.
Kjennetegn på Django
Her er hovedkarakteristikkene til Django:
- Loosely Coupled- Django hjelper deg med å gjøre hvert element i stabelen uavhengig av de andre.
- Less kode- Sikrer effektiv utvikling
- Ikke gjentatt- Alt bør utvikles på nøyaktig ett sted i stedet for å gjenta det igjen
- Rask utvikling- Django's tilbyr rask og pålitelig applikasjonsutvikling.
- Konsekvent design- Django opprettholder et rent design og gjør det enkelt å følge de beste nettutviklingspraksisene.
Neste i denne Django-begynneropplæringen vil vi lære om arkitekturen til Django.
Django Architecture: MVC og MVT
Nedenfor er en detaljert arkitektur av Django:
MVC -mønster
Når vi snakker om applikasjoner som gir brukergrensesnitt (web eller skrivebord), snakker vi vanligvis om MVC-arkitektur. MVC-mønster er basert på modell, visning og kontroller.
De Modell definerer datastrukturen og tar vare på spørring i databasen.
De Se definerer hvilke data som skal presenteres og returnerer et HTTP-svar.
De controller er den delen av applikasjonen som håndterer brukerinteraksjonen.
Django MVC-MVT mønster
Model-View-Template (MVT) er et annet konsept sammenlignet med MVC. Hovedforskjellen mellom disse to arkitektoniske mønstrene er at Django selv administrerer Controller-delen (programvarekode som kontrollerer interaksjonene mellom modellen og visningen). Malen er en HTML-fil som blandes med Django Template Language-fil som også kalles DTL.
Diagrammet nedenfor viser hvordan alle komponentene i MVT-mønsteret samhandler med hverandre for å tjene spesifikke for en brukerforespørsel.
Som vist i diagrammet ovenfor, ber en bruker om en ressurs til Django. Django fungerer som en kontroller og sjekker den tilgjengelige ressursen i URL.
Hvis URL-kart, kalles en visning som samhandler med modell og mal. Django svarer deretter brukeren og sender en mal som svar.
Nå i denne Django-opplæringsserien for nybegynnere vil vi lære om komponenter i Django.
Komponenter av Django
Form
Django har et kraftig skjemabibliotek som håndterer gjengivelse av skjemaer som HTML. Biblioteket hjelper til med å validere innsendte data og konvertere dem til Python typer.
Autentisering
Den håndterer brukerkontoer, grupper, informasjonskapselbaserte brukerøkter, etc.
admin
Den leser metadata i modellene dine for å gi et robust grensesnitt som kan brukes til å administrere innhold på nettstedet ditt.
Internasjonalisering
Django gir støtte for å oversette tekst til forskjellige språk, lokalspesifikk formatering av datoer, klokkeslett, tall og tidssoner.
Sikkerhet
Django gir beskyttelse mot følgende angrep:
- Forfalskning på tvers av nettsteder (CSRF)
- Cross-site scripting
- SQL-injeksjon
- klikkjekking
- Ekstern kjøring av kode
Kjente selskaper som bruker Django
Her er selskaper som bruker Django:
- BitBucket
- DISQUS
- NASA
- PBS (Public Broadcasting Service)
- Mozilla
- The Washington Post
- NY Times
- LA Times
- The Guardian National Geographic
- Discovery Channel
Ulemper ved å bruke Django
- En prosess kan ikke håndtere flere forespørsler samtidig.
- Django er et veldig monolittisk verktøy.
- Komponenter blir distribuert sammen, noe som kan skape forvirring.
- Kunnskap om hele systemet er nødvendig for å fungere på Django
- Gjør nettapplikasjonskomponenter tett sammenkoblet
- Du må gjøre langvarig programmering for mindre oppgaver.
Oppsummering
- Django er et nettutviklingsrammeverk for Python som tilbyr en standardmetode for rask og effektiv nettsideutvikling.
- Django startet ble av Adian Holovaty og Simon Willison som et internt prosjekt ved avisen Lawrence Journal-World i 2003
- Django hjelper deg med å dokumentere API-en din med en HTML-utdata.
- Django lar deg tilpasse administrasjonspanelet etter ditt behov.
- Django hjelper deg med å gjøre hvert element i stabelen uavhengig av de andre.
- Hovedforskjellen mellom MVC- og MVT-arkitektoniske mønstre er at Django selv administrerer Controller-delen.
- Viktige komponenter i Djangos arkitektur er: Form, Autentisering, Admin, Internasjonalisering, Sikkerhet.
- Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla osv. bruker Django
- Den største ulempen med Django er at den ikke kan håndtere flere forespørsler samtidig.