Django-tutorial voor beginners: functies, Architectuur & Geschiedenis

Samenvatting van de Django-zelfstudie

Deze Django-tutorial behandelt alle basisonderwerpen helemaal opnieuw. In deze tutorial leer je de concepten zoals wat Django is, Django-geschiedenis, Django-functies, kenmerken 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 dat standaardmethoden biedt voor snelle en effectieve website-ontwikkeling. Het primaire doel van dit hoogwaardige webframework is het creëren van complex databasegestuurde websites. Het helpt u bij het bouwen en onderhouden van hoogwaardige webapplicaties. Hiermee kunt u het ontwikkelingsproces soepel en tijdbesparend laten verlopen voor een 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
juni 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 email backend en verbeteringen voor sessies en cookies zijn in deze versie aangebracht.
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 geleverd met Python 3-ondersteuning en configureerbare gebruikersmodelfuncties.
6 november 2013 Versie 1.6 wordt geleverd met DB-transactiebeheer, verbinding pooling-functies.
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 is het zoeken naar volledige tekst voor PostgreSQL gelanceerd.
April 4 2017 Versie 1.11 wordt de laatste versie die Python 2.7 ondersteunt
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.
  • Minder 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.

Vervolgens zullen we in deze Django-tutorial voor beginners leren over de architectuur van Django.

Django Archistructuur: MVC en MVT

Hieronder is een gedetailleerde architectuur van Django:

Django Architectuur
Django Architectuur

MVC-patroon

Als we het hebben over applicaties die een gebruikersinterface bieden (web of desktop), praten we meestal over MVC archistructuur. MVC-patroon is gebaseerd op Model, View en Controller.

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

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

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

Django MVC-MVT-patroon

De Model-View-Template (MVT) is een ander concept dan MVC. Het belangrijkste verschil tussen deze twee archistructuurpatronen is dat Django zelf het Controller-gedeelte beheert (softwarecode die de interacties tussen het Model en de View bestuurt). De sjabloon is een HTML-bestand dat is gemengd met het Django Template Language-bestand, ook wel DTL 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

Formulier

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-typen.

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.

Security

Django biedt bescherming tegen de following 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 verzoeken tegelijk verwerkenneonormaal.
  • Django is een zeer monolithisch hulpmiddel.
  • Componenten worden samen ingezet, 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.

Samengevat

  • 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 archistructuurpatronen is dat Django zelf het Controller-gedeelte beheert.
  • Essentiële componenten van Django's architecturen zijn: Vorm, Authenticatie, Beheer, Internationalisering, Beveiliging.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla, etc. gebruiken Django
  • Het grootste nadeel van Django is dat het niet meerdere verzoeken tegelijk kan verwerkenneonormaal.