Django-handleiding: Functies, Architectuur & Geschiedenis
โก Slimme samenvatting
Django is een gratis, open-source framework. Python Webframework gebouwd volgens het model-view-template-patroon, dat snelle ontwikkeling mogelijk maakt van veilige, schaalbare, databasegestuurde websites door middel van herbruikbare componenten, een automatische beheerdersinterface en een 'batteries-included'-ontwerp.

Django drijft enkele van de grootste websites op het web aan, terwijl het tegelijkertijdping Dagelijkse ontwikkeling, snel en georganiseerd. Voordat we de functies, architectuur en geschiedenis van Django bespreken, beginnen de onderstaande paragrafen met de basisprincipes van webframeworks en wat Django uniek maakt.
Samenvatting van de Django-zelfstudie
Deze Django-tutorial behandelt alle basisonderwerpen vanaf het begin. In deze tutorial leer je concepten zoals wat Django is, de geschiedenis ervan, de functies, de kenmerken van het Django-framework, de componenten van Django, de voor- en nadelen en nog veel meer.
Voordat we Django gaan leren, laten we eerst het volgende begrijpen:
Wat is een webframework?
Een webframework is een codebibliotheek waarmee je een flexibele, schaalbare en onderhoudbare dynamische website, webapplicatie of webservice kunt bouwen. Voorbeelden van webframeworks zijn Zend voor PHP. Ruby on Rails voor Ruby, en anderen.
Wat is Django?
Django is een webontwikkelingsframework voor Python Dit framework biedt standaardmethoden voor snelle en effectieve websiteontwikkeling. Het primaire doel van dit geavanceerde webframework is het creรซren van complexe, databasegestuurde websites. Het helpt u bij het bouwen en onderhouden van hoogwaardige webapplicaties. Het maakt het ontwikkelingsproces soepel en tijdbesparend, wat zorgt voor snelle ontwikkeling.
Waarom Django? Belangrijkste voordelen van Django
Dit zijn de belangrijkste voordelen van Django:
- Django is eenvoudig te installeren en te gebruiken. Het biedt diverse opties om direct aan de slag te gaan.
- Het biedt een gebruiksklare gebruikersinterface voor administratieve taken.
- Het maakt meertalige websites mogelijk door gebruik te maken van het ingebouwde internationaliseringssysteem.
- Het helpt je om snel aan enorme verkeerspieken te voldoen.
- Django wordt gebruikt voor het bouwen van allerlei soorten contentmanagementsystemen, sociale netwerken en platforms voor wetenschappelijk computergebruik.
- Django helpt je bij het uitvoeren van complete applicatietests.
- Het helpt je om je API te documenteren met een HTML-output.
- Het REST-framework biedt uitgebreide ondersteuning voor diverse authenticatieprotocollen.
- Het biedt machtigings- en beperkingsbeleid.
- Het wordt veel gebruikt voor het beperken van API-verzoeken van รฉรฉn gebruiker.
Geschiedenis van Django
| Jaar | Milestone |
|---|---|
| 2003 | Het project werd opgezet door Adrian Holovaty en Simon Willison als een intern project bij de krant Lawrence Journal-World. |
| Juli 2005 | Het album werd in juli 2005 uitgebracht onder de naam "Django", vernoemd naar de jazzgitarist Django Reinhardt. |
| Juni 2008 | Er werd verklaard dat Django Software Foundation (DSF) zou Django behouden. |
| 29 July 2009 | Django 1.1 werd uitgebracht met functies zoals aggregates en transactiegebaseerde tests. |
| 17 May 2010 | Django 1.2 werd uitgebracht. De update bood nieuwe functies, zoals meerdere databases en een e-mailbackend, en er werden verbeteringen aangebracht aan sessies en cookies. |
| Maart 23 2011 | Versie 1.3 introduceerde functies zoals op klassen gebaseerde weergaven en statische bestanden. |
| Maart 23 2012 | Versie 1.4 werd gelanceerd met nieuwe functies zoals tijdzones en testen in de browser. |
| Februari 26 2013 | De 1.5-versie werd geleverd met Python 3 ondersteunende en configureerbare gebruikersmodelfuncties. |
| 6 november 2013 | Versie 1.6 bevatte functies voor databasetransactiebeheer en connection pooling. |
| 2 september 2014 | Versie 1.7 bevatte nieuwe functies zoals het laden van applicaties, migraties en configuratie. |
| April 1 2015 | Er werd native ondersteuning geboden voor meerdere template-engines. |
| 1 Dec 2015 | In versie 1.9 werd een functie voor automatische wachtwoordvalidatie geรฏntroduceerd. |
| Augustus 1 2016 | In versie 1.10 is zoeken in de volledige tekst mogelijk voor PostgreSQL was gelanceerd. |
| April 4 2017 | Versie 1.11 was de laatste versie die ondersteuning bood. Python 2.7. |
| 2 Dec 2017 | Versie 2.0 werd de eerste Python Alleen releaseversie 3. |
| Augustus 1 2018 | Versie 2.1 bevatte functies ter ondersteuning van de "weergave"-machtiging voor modellen. |
| 2021 | Ondersteuning voor Django 3.0 is verwijderd en ondersteuning voor Django 3.2 is toegevoegd. |
In deze Django-tutorial voor beginners gaan we de functies van Django leren kennen.
Kenmerken van Django
Hieronder staan โโde kenmerken van Django:
- Helpt je bij het definiรซren van patronen voor de URLin uw aanvraag.
- Eenvoudig maar krachtig URL systeem.
- Ingebouwd authenticatiesysteem.
- Een objectgeoriรซnteerde programmeertaaldatabase die de beste mogelijkheden biedt voor gegevensopslag en -opvraging.
- De automatische beheerdersinterface biedt de mogelijkheid om items toe te voegen, te bewerken en te verwijderen. U kunt het beheerderspaneel naar wens aanpassen.
- Het cacheframework biedt meerdere cachemechanismen.
In deze tutorial over het Django-framework leren we meer over de kenmerken van Django.
Kenmerken van Django
Dit zijn de belangrijkste kenmerken van Django:
- Los verbonden โ Django helpt je om elk element van de stack onafhankelijk van de andere elementen te maken.
- Less code โ Zorgt voor effectieve ontwikkeling.
- Niet herhaald โ Alles moet op precies รฉรฉn plek worden ontwikkeld in plaats van het steeds te herhalen.
- Snelle ontwikkeling โ Django biedt snelle en betrouwbare applicatieontwikkeling.
- Consistent ontwerp โ Django hanteert een overzichtelijk ontwerp en maakt het gemakkelijk om de beste webontwikkelingspraktijken te volgen.
In deze Django-beginnershandleiding gaan we dieper in op de architectuur van Django.
Django Archistructuur: MVC en MVT
Hieronder vindt u een gedetailleerde architectuur van Django:
Django Architectuur
MVC-patroon
Wanneer we het hebben over applicaties met een gebruikersinterface (web of desktop), spreken we meestal over de MVC-architectuur. Het MVC-patroon is gebaseerd op Model, View en Controller.
De Model definieert de datastructuur en zorgt voor het uitvoeren van query's op de database.
De Bekijk definieert welke gegevens moeten worden gepresenteerd en retourneert een HTTP-antwoord.
De Controller is het onderdeel van de applicatie dat de gebruikersinteractie afhandelt.
Django MVC-MVT-patroon
Het Model-View-Template (MVT) is een ander concept dan MVC. Het belangrijkste verschil tussen deze twee architectuurpatronen is dat Django zelf het controllergedeelte beheert (de softwarecode die de interacties tussen het model en de view regelt). De template is een HTML-bestand dat gecombineerd wordt met een Django Template Language-bestand, ook wel DTL genoemd.
Het onderstaande diagram laat zien hoe alle componenten van het MVT-patroon met elkaar samenwerken om een โโspecifiek gebruikersverzoek af te handelen.
MVT Architectuur
Zoals te zien in het bovenstaande diagram, vraagt โโeen gebruiker een resource aan bij Django. Django fungeert als controller en controleert of de resource beschikbaar is. URL.
Indien de URL Maps, een view wordt aangeroepen die interactie heeft met het model en de template. Django reageert vervolgens op de gebruiker en stuurt een template als antwoord.
In deze serie Django-tutorials voor beginners leren we meer over de componenten van Django.
Onderdelen van Django
Form
Django heeft een krachtige formulierbibliotheek die formulieren als HTML verwerkt. De bibliotheek helpt bij het valideren van ingediende gegevens en het converteren ervan naar Python types.
authenticatie
Het beheert gebruikersaccounts, groepen, op cookies gebaseerde gebruikerssessies en meer.
beheerder
Het leest metadata in uw modellen om een โโrobuuste interface te bieden die kan worden gebruikt om de inhoud op uw site te beheren.
internationalisering
Django biedt ondersteuning voor het vertalen van tekst naar verschillende talen en voor het opmaken van datums, tijden, getallen en tijdzones op basis van de lokale context.
Security
Django biedt beveiliging tegen de volgende aanvallen:
- Cross-site Request Forgery (CSRF)
- Cross-site scripting
- SQL injectie
- Clickjacking
- Uitvoering van externe code
Beroemde bedrijven die Django gebruiken
Hieronder vindt u een lijst met bedrijven die Django gebruiken:
- Bitbucket
- Disqus
- NASA
- PBS (openbare omroepdienst)
- mozilla
- The Washington Post
- The New York Times
- Los Angeles Times
- The Guardian
- National Geographic
- Discovery Channel
Nadelen van het gebruik van Django
Hieronder volgen enkele nadelen van het gebruik van Django:
- Een enkel proces kan niet meerdere verzoeken tegelijk verwerken.
- Django is een zeer monolithisch hul Hulpmiddel.
- Componenten worden samen geรฏmplementeerd, wat tot verwarring kan leiden.
- Om met Django te werken, is kennis van het volledige systeem vereist.
- Het zorgt ervoor dat de componenten van een webapplicatie nauw met elkaar verbonden zijn.
- Voor kleine taken moet u langdurig programmeren.


