Django - Op klassen gebaseerde weergaven

Inhoudsopgave
Van de Django-versie 1.3 Er werd een vrij belangrijke verandering geïntroduceerd, dit was om de mogelijkheid op te nemen om views te creëren via klassen in plaats van functies zoals was gedaan, bij het behandelen van de view-objecten wordt de mogelijkheid gegenereerd om meer generieke views te creëren waarmee we meer kunnen vasthouden aan DROGE principe om jezelf niet te herhalen.
Op klassen gebaseerde weergaven
Op dit moment hoeven de weergaven niet beperkt te blijven tot functies, dit is te danken aan het feit dat in Django het belangrijkste is om een ​​element te kunnen verkrijgen dat kan worden genoemd, dankzij deze benadering kunnen we enige vrijheid hebben in hoe we de elementen genereren die kunnen worden genoemd. Door op klassen gebaseerde weergaven te bouwen, krijgen we de volgende voordelen:
1Het bereik van configureerbaarheid is hoger.
2Het is veel gemakkelijker om aan te passen bij het maken van gespecialiseerde projecten.
3We kunnen de objecten hergebruiken voor andere doeleinden.
Het is waar dat er verschillende manieren zijn om klassen te maken, maar om consistentie met de code te behouden Django we moeten proberen onze klassen vergelijkbaar te maken met de generieke klassen van het raamwerk.
Hoe dan ook, wanneer je dit doet, is een aanbeveling om in gedachten te houden dat we niet worden verhinderd om de klassen te creëren zoals onze applicatie het nodig heeft, zelfs als we moeten afwijken van de generieke klassen die al zijn genoemd.
Algemene weergave Django.views.generic.base.View
Omdat elk begin moeilijk is zonder gids, Django Het maakt het voor ons gemakkelijker om deze wereld te betreden door ons zijn generieke kijk te bieden, om het te gebruiken hoeven we er maar een subklasse van te maken en op deze manier hebben we een basis.
Uiteraard zal dit niet vanaf het begin doen wat we nodig hebben, maar we kunnen de volgende functionaliteiten gebruiken:
1Validatie van argumenten die zijn doorgegeven aan de weergaveconfiguratie.
2Voorkomt dat argumenten met de naam HTTP-methoden worden gebruikt.
3Verzamel de argumenten die zijn doorgegeven in de URL-configuratie.
4Controleer of een aangeroepen HTTP-methode wordt ondersteund door de weergave.
5Verwerkt automatisch optieverzoeken.
Een weergave maken in een klas
We hebben de verschillende kenmerken van wat het betekent al gezien weergaven genereren met klassenWe hebben zelfs enkele voordelen gezien, nu zullen we zien hoe we wat we weten in code kunnen vertalen om het resultaat te verkrijgen.
Laten we in de volgende afbeelding een weergave bekijken die is gegenereerd door een subklasse te maken van de generieke Django-weergave:

Laten we een analyse van de code doen, als we kijken, maken we onze klasse en specificeren we dat het a . moet zijn Subklasse bekijken dus we zullen al zijn functionaliteiten verkrijgen, dan we specificeren welke sjabloon aan de klasse moet worden gekoppeld en tenslotte we overschrijven de get- en post-methoden, op deze manier kunnen we onze logica incorporeren.
BelangrijkOm gebruik te kunnen maken van de weergave moeten we deze aangeven in onze patroon in url en vertel het dat het moet worden behandeld als een weergave met behulp van de as_view () methode, optioneel kunnen we de naam van de sjabloon doorgeven waarin deze de resultaten moet retourneren.
Laten we om deze zelfstudie af te ronden een voorbeeld van het bovengenoemde bekijken in de volgende afbeelding:

Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave