Django-opplæring: Funksjoner, Archilære og historie
⚡ Smart oppsummering
Django er et gratis, åpen kildekode-program Python Nettrammeverk bygget på modell-visning-mal-mønsteret, som muliggjør rask utvikling av sikre, skalerbare, databasedrevne nettsteder gjennom gjenbrukbare komponenter, et automatisk administrasjonsgrensesnitt og batteridrevet design.

Django driver noen av de største nettstedene på nettet, mens keeping hverdagsutvikling rask og organisert. Før vi utforsker funksjonene, arkitekturen og historien, starter avsnittene nedenfor med det grunnleggende om webrammeverk og hva som gjør Django unik.
Oppsummering av Django-opplæringen
Denne Django-opplæringen dekker alle de grunnleggende emnene fra bunnen av. I denne veiledningen lærer du konsepter som hva Django er, historien, funksjonene, egenskapene til Django-rammeverket, komponentene i Django, fordeler og ulemper og mye mer.
Før vi lærer oss Django, la oss forstå:
Hva er et nettrammeverk?
Et webrammeverk er et kodebibliotek som hjelper deg med å bygge et fleksibelt, skalerbart og vedlikeholdbart dynamisk nettsted, webapp eller webtjeneste. Ulike webrammeverk inkluderer Zend for PHP, Ruby on Rails for Ruby og andre.
Hva er Django?
Django er et webutviklingsrammeverk for Python som tilbyr standardmetoder for rask og effektiv nettstedsutvikling. Hovedmålet med dette høynivå-nettrammeverket er å lage komplekse databasedrevne nettsteder. Det hjelper deg med å bygge og vedlikeholde webapplikasjoner av høy kvalitet. Det lar deg gjøre utviklingsprosessen smidig og tidsbesparende for rask utvikling.
Hvorfor Django? Viktige fordeler med Django
Her er de viktigste fordelene med Django:
- Django er enkelt å sette opp og kjøre. Det tilbyr en rekke alternativer for å komme i gang.
- Den tilbyr et brukervennlig grensesnitt for administrative aktiviteter.
- Den muliggjør flerspråklige nettsteder ved å bruke det innebygde internasjonaliseringssystemet.
- Det hjelper deg med å møte enorme trafikkbehov raskt.
- Django brukes til å bygge alle typer innholdsstyringssystemer, sosiale nettverk og vitenskapelige databehandlingsplattformer.
- Django hjelper deg med å tilby komplett applikasjonstesting.
- Det hjelper deg med å dokumentere API-et ditt med HTML-utdata.
- REST-rammeverket har rik støtte for flere autentiseringsprotokoller.
- Den tilbyr tillatelser og reguleringer for begrensning.
- Det er mye brukt for ratebegrensende API-forespørsler fra en enkelt bruker.
Historien til Django
| År | Milepæl |
|---|---|
| 2003 | Prosjektet ble startet av Adrian 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 Reinhardt. |
| juni 2008 | Det ble erklært at en Django-programvare Foundation (DSF) ville opprettholde Django. |
| 29 juli 2009 | Django 1.1 ble utgitt med funksjoner som aggregater og transaksjonsbaserte tester. |
| 17 mai 2010 | Django 1.2 ble utgitt. Oppdateringen tilbød funksjoner som flere databaser og et e-post-backend, og det ble gjort forbedringer for økter og informasjonskapsler. |
| Mars 23 2011 | 1.3-versjonen introduserte funksjoner som klassebaserte visninger og statiske filer. |
| Mars 23 2012 | 1.4-versjonen ble lansert med nye funksjoner som tidssoner og testing i nettleseren. |
| 26 februar 2013 | 1.5-versjonen kom med Python 3 støtte og konfigurerbare brukermodellfunksjoner. |
| 6 november 2013 | 1.6-versjonen kom med funksjoner for administrasjon av databasetransaksjoner og tilkoblingspooling. |
| 2 september 2014 | 1.7-versjonen hadde nye funksjoner som innlasting av applikasjoner, migreringer og konfigurasjon. |
| April 1 2015 | Det ble gitt innebygd støtte for flere malmotorer. |
| 1 Dec 2015 | I 1.9-versjonen ble en automatisk passordvalideringsfunksjon introdusert. |
| August 1 2016 | I 1.10-versjonen, fulltekstsøk etter PostgreSQL var lansert. |
| April 4 2017 | Versjonen 1.11 ble den siste versjonen som støttet Python 2.7. |
| 2 Dec 2017 | Versjon 2.0 ble den første Python Kun 3-utgivelsesversjon. |
| August 1 2018 | Versjon 2.1 kom med støttefunksjoner for modelltillatelser for visning. |
| 2021 | Fjernet støtte for Django 3.0 og lagt til støtte for Django 3.2. |
I denne Django-opplæringen for nybegynnere skal vi nå lære om funksjonene til Django.
Funksjoner av Django
Nedenfor er funksjonene til Django:
- Hjelper deg med å definere mønstre for URLs i søknaden din.
- Enkel, men kraftig URL system.
- Innebygd autentiseringssystem.
- En objektorientert programmeringsdatabase som tilbyr førsteklasses datalagring og -gjenfinning.
- Det automatiske administrasjonsgrensesnittet lar deg legge til, redigere og slette elementer. Du kan tilpasse administrasjonspanelet etter behov.
- Cache-rammeverket kommer med flere cache-mekanismer.
I denne veiledningen for Django-rammeverket skal vi nå lære om egenskapene til Django.
Kjennetegn på Django
Her er hovedkarakteristikkene til Django:
- Løst koblet – Django hjelper deg med å gjøre hvert element i stakken 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 om og om igjen.
- Rask utvikling – Django tilbyr rask og pålitelig applikasjonsutvikling.
- Konsekvent design – Django har et rent design og gjør det enkelt å følge de beste praksisene for webutvikling.
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:
Django Architecture
MVC -mønster
Når vi snakker om applikasjoner som tilbyr et brukergrensesnitt (web eller desktop), snakker vi vanligvis om MVC-arkitektur. MVC-mønsteret er basert på modell, visning og kontroller.
Ocuco Modell definerer datastrukturen og tar seg av å spørre databasen.
Ocuco Se definerer hvilke data som skal presenteres og returnerer et HTTP-svar.
Ocuco controller er den delen av applikasjonen som håndterer brukerinteraksjonen.
Django MVC-MVT mønster
Model-View-Template (MVT) er et annet konsept enn MVC. Hovedforskjellen mellom disse to arkitekturmønstrene er at Django selv administrerer kontrollerdelen (programvarekoden som kontrollerer samhandlingen mellom modellen og visningen). Malen er en HTML-fil som er blandet med en Django Template Language-fil, også kalt DTL.
Diagrammet nedenfor viser hvordan alle komponentene i MVT-mønsteret samhandler med hverandre for å betjene en spesifikk brukerforespørsel.
MVT Architecture
Som vist i diagrammet ovenfor, ber en bruker om en ressurs fra Django. Django fungerer som en kontroller og sjekker om det finnes tilgjengelige ressurser i URL.
Dersom URL kart, kalles en visning som samhandler med modellen og malen. Django svarer deretter brukeren og sender en mal som svar.
I denne serien med Django-opplæringer for nybegynnere skal vi nå lære om komponentene 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 og mer.
admin
Den leser metadata i modellene dine for å gi et robust grensesnitt som kan brukes til å administrere innhold på nettstedet ditt.
Internasjonalisering
Django støtter oversettelse av tekst til forskjellige språk, og lokalspesifikk formatering av datoer, klokkeslett, tall og tidssoner.
Trygghet
Django tilbyr 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
- The New York Times
- Los Angeles Times
- The Guardian
- National Geographic
- Discovery Channel
Ulemper ved å bruke Django
Her er noen ulemper med å bruke Django:
- En enkelt prosess kan ikke håndtere flere forespørsler samtidig.
- Django er et veldig monolittisk verktøy.
- Komponenter distribueres sammen, noe som kan skape forvirring.
- Kunnskap om hele systemet er nødvendig for å jobbe med Django.
- Det gjør webapplikasjonskomponenter tett koblet sammen.
- Du må gjøre langvarig programmering for mindre oppgaver.


