Django - Attributter og klasseerklæring

Innholdsfortegnelse
Django håndterer den deklarative måten å angi klassene den vil bruke, betyr dette at vi kan lage modeller fra metaklass allerede definert som vi kan få grunnleggende og avanserte funksjoner bare ved å lage en tilpasset klasse, dette takket være alle verktøyene som er inkorporert i rammeverk.
Et av punktene som kanskje gjenstår for oss er hvordan vi skal vite, hvordan rammen gjør ting, det vil si i hvilken rekkefølge den erklærer attributtene vi plasserer i klassene.
Sortering av klasseattributter
Når vi bruker den deklarative syntaksen vi har tilgjengelig i Django, kan det oppstå et forvirringspunkt, og dette er rekkefølgen der deklarerte verdiene tildeles, årsaken til dette er det Python håndterer ordbøkene hans på en rotete måte; Normalt ville dette ikke representere et stort problem, men når vi håndterer navneområder eller navnerom hvis vi trenger å gjøre en bestemt iterasjon på attributtene, er det viktig å vite rekkefølgen verdiene ble tildelt, siden vi ikke ville ha en hindring.
For å ha full kontroll over applikasjonen vår, kan vi på en eller annen måte vite hvilken rekkefølge verdiene tildeles, og dermed unngå å måtte tildele en vilkårlig ordre.
For å oppnå denne rekkefølgen er det vi kan gjøre at hvert attributt i seg selv bærer et spor av sin posisjon i sekvensen, for dette må vi få klassene våre til å arve fra en basisklasse som kan telle hvor mange ganger klassen blir instantiert og dermed tildele et korrelativt tall til hver av dem:
 klasse BaseAttribute (objekt): creation_counter = 1 def __init __ (self): self.creation_counter = BaseAttribute.creation_counter BaseAttribute.creation_counter + = 1 

Vi ser følgende i kodeeksemplet:
Hver forekomst av Gjenstand ha en navneområde eller et annet navnerom enn klassene, så hver av forekomstene av denne klassen vil ha en opprettelsesteller som vi kan bruke til å sortere objektene i henhold til rekkefølgen de ble instantiert i.
Dette er kanskje ikke den eneste løsningen på problemet, men det er måten Django sorterer feltene for modeller og skjemaer.
Som vi ser var problemet bare et eksempel på hvordan Django som et rammeverk håndterer den klasser og innholdet deres ved hjelp av Python -ressurser.
Klasseerklæring
Med alle klassene vi har i en modul, er det like enkelt å lage en applikativ klasse som å definere en underklasse og legge til dens attributter.
De forskjellige eksisterende rammene vil ha forskjellige navn på attributtene til klassen, og vil til og med ha forskjellige krav til hvordan klassene kreves eller formen og kombinasjonene de må brukes i. Det kan nå poenget med å ha reserverte navn som kan forårsake konflikter hvis et attributt med det navnet opprettes. Disse problemene er sjeldne siden vi ved god praksis må unngå denne typen situasjoner i utviklingen av et nytt rammeverk; den generelle regelen er å gi utviklerne størst mulig fleksibilitet, med dette oppnår vi at rammeverket ikke er et hinder i stedet for en hjelp.
På bildet nedenfor vil vi se hvordan klassen deklareres Ta kontakt med i en applikasjon i Django:

FORSTØRRE

Med denne enkle koden er det nok for oss å la rammeverket overføre et stort antall funksjoner til modellen vår, uten at utvikleren må legge dem til manuelt.
En annen ting å huske er at dette er kode Python, så vi skal ikke føle oss begrenset, siden praktisk talt enhver gyldig kode i Python vil hjelpe oss med å utvide timene våre.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave