Django - Atribute și declarație de clasă

Cuprins
Django gestionează modul declarativ de a seta clasele pe care le va folosi, aceasta înseamnă că putem crea modele din metaclasele deja definit cu care putem obține funcționalități de bază și avansate doar făcând o clasă personalizată, asta datorită tuturor instrumentelor încorporate în cadru.
Unul dintre punctele care ne rămâne probabil este cum să știm, modul în care cadrul face lucrurile, adică în ce ordine declară atributele pe care le plasăm în clase.
Sortarea atributelor clasei
Când folosim sintaxa declarativă pe care o avem disponibilă în Django, poate apărea un punct de confuzie și aceasta este ordinea în care sunt atribuite valorile declarate, motivul este că Piton se ocupă de dicționarele sale într-un mod dezordonat; În mod normal, aceasta nu ar reprezenta o problemă majoră, totuși, atunci când gestionăm spații de nume sau spații de nume dacă trebuie să facem o anumită iterație asupra atributelor, este important să cunoaștem ordinea în care au fost atribuite valorile, deoarece nu am avea un obstacol.
Pentru a avea control deplin asupra aplicației noastre, putem ști cumva care este ordinea în care sunt atribuite valorile, evitând astfel să atribuim o ordine arbitrară.
Pentru a realiza această ordonare, ceea ce putem face este ca fiecare atribut să poarte de la sine o urmă a poziției sale în secvență, pentru aceasta trebuie să facem ca clasele noastre să moștenească dintr-o clasă de bază care poate conta de câte ori este instanțiată clasa și, astfel, poate atribui un număr corelativ pentru fiecare dintre ele:
 clasă BaseAttribute (obiect): creation_counter = 1 def __init __ (self): self.creation_counter = BaseAttribute.creation_counter BaseAttribute.creation_counter + = 1 

Vedem următoarele în exemplul de cod:
Fiecare instanță a Obiect ia o spațiu de nume sau spațiu de nume diferit decât clasele, deci fiecare dintre instanțele acestei clase va avea un contor de creație pe care îl putem folosi pentru a sorta obiectele în funcție de ordinea în care au fost instanțiate.
Poate că aceasta nu este singura soluție la problema pusă, dar este modul în care Django sortează câmpurile pentru modele și formulare.
După cum vedem, problema a fost doar o mostră a modului în care Django ca cadru, gestionează clasele și conținutul acestora, folosind resurse Python.
Declarație de clasă
Cu toate clasele pe care le avem într-un modul, crearea unei clase aplicative este la fel de simplă ca definirea unei subclase și adăugarea atributelor acesteia.
Diferitele cadre existente vor avea nume diferite pentru atributele clasei și vor avea chiar cerințe diferite pentru modul în care sunt necesare clasele sau forma și combinațiile în care acestea trebuie aplicate, poate ajunge la punctul de a avea nume rezervate care ar putea provoacă conflicte dacă se creează un atribut cu acel nume. Aceste probleme sunt rare, deoarece, prin bune practici, trebuie să evităm acest tip de situație în dezvoltarea unui nou cadru; regula generală este de a oferi dezvoltatorilor cea mai mare flexibilitate posibilă, prin aceasta realizăm că cadrul nu este un obstacol în loc de un ajutor.
În imaginea următoare vom vedea cum este declarată clasa a lua legatura într-o aplicație în Django:

MARI

Cu acest cod simplu, este suficient pentru noi să permitem cadrului să transmită un număr mare de funcționalități modelului nostru, fără a fi nevoit ca dezvoltatorul să le adauge manual.
Un alt lucru de reținut este că acesta este cod Piton, deci nu ar trebui să ne simțim limitați, deoarece practic orice cod valid din Python ne va ajuta să ne extindem clasele.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv
wave wave wave wave wave