Django-tutorial voor beginners: functies, Architectuur & Geschiedenis

Samenvatting van de Django-zelfstudie

Deze Django tutorial behandelt alle basisonderwerpen vanaf nul. In deze tutorial leert u concepten zoals wat is Django, Django geschiedenis, Django features, karakteristieken van het Django framework, Component van Django, voor- en nadelen, en nog veel meer.
Laten we, voordat we Django leren, het volgende begrijpen:

Wat is een webframework?

Een webframework is een codebibliotheek die u helpt bij het bouwen van een flexibel, schaalbaar en onderhoudbaar; dynamische website, webapp en webservices. Verschillende webframeworks zijn Zend voor PHP, Ruby on Rails voor Ruby, enz.

Wat is Django?

Django is een webontwikkelingsframework voor Python die standaardmethoden biedt voor snelle en effectieve websiteontwikkeling. Het primaire doel van dit hoogwaardige webframework is om complexe databasegestuurde websites te creëren. Het helpt u om kwalitatief hoogwaardige webapplicaties te bouwen en te onderhouden. Het stelt u in staat om het ontwikkelingsproces soepel en tijdbesparend te maken voor snelle ontwikkeling.

Waarom Django? Belangrijkste voordelen van Django

Dit zijn de belangrijkste voordelen van Django:

  • Django is eenvoudig in te stellen en uit te voeren. Het biedt verschillende opties om aan de slag te gaan
  • Het biedt een kant-en-klare gebruikersinterface voor administratieve activiteiten
  • Het maakt meertalige websites mogelijk door gebruik te maken van het ingebouwde internationaliseringssysteem
  • Helpt u snel aan de enorme verkeersbehoefte te voldoen
  • Django wordt gebruikt om alle soorten contentmanagementsystemen, sociale netwerken en wetenschappelijke computerplatforms te bouwen.
  • Django helpt u bij het end-to-end testen van applicaties
  • Helpt u bij het documenteren van uw API met een HTML-uitvoer
  • REST Framework biedt uitgebreide ondersteuning voor verschillende authenticatieprotocollen
  • Machtigingen en beperkingsbeleid
  • Het wordt veel gebruikt voor het beperken van API-verzoeken van één gebruiker.

Geschiedenis van Django

Jaar Milestone
2003 Het project werd gestart door Adian Holovaty en Simon Willison als een intern project bij de krant Lawrence Journal-World
juli 2005 Het werd in juli 2005 uitgebracht als "Django", genoemd naar de jazzgitarist Django Reinhard
juli 2008 Verklaard dat het een Django-software is Foundation (DSF) zou Django behouden.
29 juli 2009 Django 1.1-versie is uitgebracht met functies zoals Aggregaten, op transacties gebaseerde tests.
17 mei 2010 Django 1.2 versie is uitgebracht. De update bood functies zoals meerdere databases, implementatie van e-mail backend en verbeteringen voor sessies en cookies zijn in deze versie gemaakt.
Maart 23 2011 1.3-versie met functies zoals op klassen gebaseerde weergaven en statische bestanden zijn geïntroduceerd
Maart 23 2012 1.4-versie gelanceerd met nieuwe functies zoals tijdzones en testen in de browser
Februari 26 2013 1.5 versie wordt meegeleverd Python 3 Ondersteuning, configureerbare gebruikersmodelfuncties.
6 november 2013 Versie 1.6 wordt geleverd met DB-transactiebeheer en functies voor verbindingspooling.
2 september 2014 Versie 1.7 had nieuwe functies zoals het laden van applicaties, migraties en configuratie
April 1 2015 native ondersteuning voor meerdere sjabloonengines.
1 Dec 2015 In versie 1.9 werd de automatische wachtwoordvalidatiefunctie geïntroduceerd.
Augustus 1 2016 In versie 1.10 full-text zoeken naar PostgreSQL gelanceerd.
April 4 2017 Versie 1.11 wordt de laatste versie die wordt ondersteund Python 2.7
2 Dec 2017 versie 2.0 wordt de eerste python 3-only releaseversie.
Augustus 1 2018 versie 2.1 wordt geleverd met een ondersteuningsfunctie voor het “bekijken” van modellen.
2021 Ondersteuning voor Django 3.0 verwijderd en Django 3.2-ondersteuning toegevoegd

Laten we nu in deze Django voor beginners-tutorial meer leren over de functies van Django.

Kenmerken van Django

Hieronder staan ​​de kenmerken van Django:

  • Helpt u bij het definiëren van patronen voor de URL's in uw toepassing
  • Eenvoudig maar krachtig URL-systeem
  • Ingebouwd authenticatiesysteem
  • Objectgeoriënteerde programmeertaaldatabase die de beste gegevensopslag en -herstel in zijn klasse biedt
  • De automatische beheerdersinterfacefunctie maakt het mogelijk items toe te voegen, te bewerken en te verwijderen. U kunt het beheerderspaneel naar wens aanpassen.
  • Cacheframework wordt geleverd met meerdere cachemechanismen.

In deze Django-framework-tutorial zullen we nu meer leren over de kenmerken van Django.

Kenmerken van Django

Dit zijn de belangrijkste kenmerken van Django:

  • Loosely Coupled- Django helpt je om elk element van de stapel onafhankelijk van de andere te maken.
  • Less code- Zorgt voor effectieve ontwikkeling
  • Niet herhaald - Alles moet op precies één plek worden ontwikkeld in plaats van het opnieuw te herhalen
  • Snelle ontwikkeling - Django's biedt snelle en betrouwbare applicatieontwikkeling.
  • Consistent ontwerp - Django onderhoudt een strak 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
Django Architectuur

MVC-patroon

Wanneer we het hebben over applicaties die UI (web of desktop) bieden, hebben we het meestal over MVC-architectuur. Het MVC-patroon is gebaseerd op Model, View en Controller.

De Model definieert de datastructuur en zorgt voor het bevragen van de database.

De Bekijk definieert welke gegevens moeten worden gepresenteerd en retourneert een HTTP-antwoord.

De Controller is dat deel van de applicatie dat de gebruikersinteractie afhandelt.

Django MVC-MVT-patroon

De Model-View-Template (MVT) is een ander concept vergeleken met MVC. Het belangrijkste verschil tussen deze twee architecturale patronen is dat Django zelf het Controller-gedeelte beheert (softwarecode die de interacties tussen het Model en de View bestuurt). De template is een HTML-bestand dat is gemengd met het Django Template Language-bestand dat ook DTL wordt genoemd.

Het onderstaande diagram laat zien hoe alle componenten van het MVT-patroon met elkaar samenwerken om specifiek aan een gebruikersverzoek te voldoen.

Django Archistructuur: MVC en MVT

MVT Architectuur

Zoals te zien is in het bovenstaande diagram, vraagt ​​een gebruiker om een ​​bron bij Django. Django fungeert als controller en controleert de beschikbare bron in de URL.

Als URL wordt toegewezen, wordt een weergave aangeroepen die samenwerkt met model en sjabloon. Django reageert vervolgens op de gebruiker en stuurt als antwoord een template.

In deze serie Django-tutorials voor beginners leren we 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 verwerkt gebruikersaccounts, groepen, op cookies gebaseerde gebruikerssessies, enz.

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 in verschillende talen, landspecifieke opmaak van datums, tijden, getallen en tijdzones.

Beveiliging

Django biedt bescherming tegen de volgende aanvallen:

  • Cross-site Request Forgery (CSRF)
  • Cross-site scripting
  • SQL injectie
  • Clickjacking
  • Uitvoering van externe code

Beroemde bedrijven die Django gebruiken

Hier zijn bedrijven die Django gebruiken:

  • BitBucket
  • Disqus
  • NASA
  • PBS (openbare omroepdienst)
  • Pinterest
  • Instagram
  • mozilla
  • The Washington Post
  • New York tijden
  • LA Times
  • The GuardianNational Geographic
  • Discovery Channel

Nadelen van het gebruik van Django

  • Een proces kan niet meerdere aanvragen tegelijkertijd verwerken.
  • Django is een zeer monolithisch hulpmiddel.
  • Componenten worden door elkaar gebruikt, wat voor verwarring kan zorgen.
  • Kennis van het volledige systeem is nodig om op Django te werken
  • Zorgt ervoor dat webapplicatiecomponenten nauw met elkaar zijn gekoppeld
  • Voor kleine taken moet u langdurig programmeren.

Samenvatting

  • Django is een webontwikkelingsframework voor Python die een standaardmethode biedt voor snelle en effectieve website-ontwikkeling.
  • Django werd opgericht door Adian Holovaty en Simon Willison als een intern project bij de krant Lawrence Journal-World in 2003
  • Django helpt u uw API te documenteren met een HTML-uitvoer.
  • Met Django kunt u het beheerderspaneel naar wens aanpassen.
  • Django helpt je om elk element van de stapel onafhankelijk van de andere te maken.
  • Het belangrijkste verschil tussen MVC- en MVT-architectuurpatronen is dat Django zelf het Controller-gedeelte beheert.
  • Essentiële componenten van Django's architectuur zijn: formulier, authenticatie, beheer, internationalisatie en beveiliging.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla, etc. gebruiken Django
  • Het grootste nadeel van Django is dat het niet meerdere verzoeken tegelijk kan verwerken.