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:
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.
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)
- 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.