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.

  • 🔘 Framework: Django er på høyt nivå Python rammeverk for raskt å bygge komplekse, databasedrevne webapplikasjoner.
  • ☑️ Archilære: MVT-mønsteret (model-view-template) lar Django administrere kontrolleren og separere data, logikk og presentasjon.
  • Batterier inkludert: Innebygd administrasjon, autentisering, skjemaer og internasjonalisering fjerner det meste av repetitivt oppsettarbeid.
  • 🛠️ Sikkerhet: Standard sikkerhetstiltak blokkerer CSRF, skripting på tvers av nettsteder, SQL-injeksjon og clickjacking-angrep.
  • 🧪 Scale: Instagram, Pinterest, Mozilla og Disqus er avhengige av Django for å generere svært høy trafikk.
  • 🤖 HA: Django bruker maskinlæringsmodeller som API-er, og assistenter som GitHub Copilot fremskynder backend-koding.

Django-opplæring for nybegynnere

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

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.

Django Architecture: MVC og MVT

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

Spørsmål og svar

Django er primært et backend-rammeverk, selv om det ofte beskrives som fullstack fordi mallaget gjengir HTML. Det håndterer serversidelogikk, databaser, ruting og sikkerhet, mens maler håndterer presentasjon for nettleseren.

Django er et batteridrevet fullstack-rammeverk med innebygd ORM, administrasjonspanel og autentisering. Flask er et lett mikrorammeverk som er minimalistisk og bruker utvidelser for de samme funksjonene, noe som gir utviklere mer manuell kontroll.

Django ORM, eller objektrelasjonell mapper, lar deg definere databasetabeller som Python klasser og spørre dem med Python kode i stedet for rå SQL. Den støtter databaser som PostgreSQL, MySQL, SQLiteog Oracle.

Kjør python -m django –version på kommandolinjen, eller åpne en Python `shell` og `run` `import django` etterfulgt av `print(django.get_version()`. Begge viser det installerte Django-utgivelsesnummeret.

Middleware er en serie med kroker som behandler alle forespørsler og svar globalt. Django bruker mellomvare for økter, autentisering, CSRF-beskyttelse og sikkerhetsoverskrifter, som hver kjører i rekkefølge før og etter at visningen din kjøres.

En praktisk kunnskap om Python og grunnleggende webkonsepter som HTTP, HTML og databaser er nødvendig. Forståelse av objektorientert programmering gjør Django-modeller og klassebaserte visninger mye enklere å lære.

Ja. Django serverer ofte maskinlæringsmodeller gjennom visninger eller Django REST Framework, og eksponerer prediksjoner som API-endepunkter. En trent modell lastes inn én gang ved oppstart og returnerer inferensresultater til nett- eller mobilklienter.

GitHub Copilot og lignende AI-assistenter autofullfører Django-modeller, -visninger URL mønstre og tester, og kan bygge opp repeterende standardtekster. De fremskynder utviklingen, men generert kode bør alltid gjennomgås for sikkerhet og korrekthet.

Oppsummer dette innlegget med: