Django - atrybuty i deklaracja klasy

Spisie treści
Django obsługuje deklaratywny sposób ustawiania klas, z których będzie korzystał, co oznacza, że ​​możemy tworzyć modele z metaklasy już zdefiniowane, dzięki którym możemy uzyskać podstawowe i zaawansowane funkcjonalności po prostu tworząc niestandardową klasę, to dzięki wszystkim narzędziom zawartym w struktura.
Jedną z kwestii, która być może nam pozostaje, jest to, jak wiedzieć, w jaki sposób framework robi rzeczy, czyli w jakiej kolejności deklaruje atrybuty, które umieszczamy w klasach.
Sortowanie atrybutów klas
Kiedy używamy deklaratywnej składni, którą mamy dostępną w Django, może pojawić się niejasność i jest to kolejność przypisywania deklarowanych wartości, powodem tego jest to, że Pyton radzi sobie ze swoimi słownikami w bałaganiarski sposób; Normalnie nie stanowiłoby to większego problemu, jednak podczas obsługi przestrzeni nazw lub przestrzeni nazw, jeśli potrzebujemy wykonać określoną iterację atrybutów, ważne jest, aby znać kolejność, w jakiej wartości zostały przypisane, ponieważ nie mielibyśmy przeszkoda.
Aby mieć pełną kontrolę nad naszą aplikacją, możemy jakoś wiedzieć, w jakiej kolejności przypisywane są wartości, unikając w ten sposób konieczności nadawania dowolnej kolejności.
Aby osiągnąć tę kolejność, możemy zrobić, aby każdy atrybut niósł sam ślad swojej pozycji w sekwencji, w tym celu musimy sprawić, aby nasze klasy dziedziczyły po klasie bazowej, która może policzyć ile razy klasa jest tworzona i w ten sposób przypisać odpowiednia liczba do każdego z nich:
 class BaseAttribute (object): creation_counter = 1 def __init __ (self): self.creation_counter = BaseAttribute.creation_counter BaseAttribute.creation_counter + = 1 

W przykładzie kodu widzimy:
Każde wystąpienie Obiekt mieć przestrzeń nazw lub inną przestrzeń nazw niż klasy, więc każda instancja tej klasy będzie miała licznik tworzenia, którego możemy użyć do posortowania obiektów zgodnie z kolejnością, w jakiej zostały utworzone.
Może to nie jedyne rozwiązanie postawionego problemu, ale jest to sposób, w jaki Django sortuje pola modeli i formularzy.
Jak widzimy problem był tylko próbką tego, jak Django jako framework obsługuje klasy i ich zawartość, korzystając z zasobów Pythona.
Deklaracja klasy
Przy wszystkich klasach, które mamy w module, tworzenie klasy aplikacyjnej jest tak proste, jak zdefiniowanie podklasy i dodanie jej atrybutów.
Różne istniejące frameworki będą miały różne nazwy dla atrybutów klasy, a nawet będą miały różne wymagania dotyczące tego, jak klasy są wymagane lub formy i kombinacji, w których muszą być stosowane, może to osiągnąć punkt posiadania zarezerwowanych nazw, które mogłyby powodować konflikty, jeśli tworzony jest atrybut o tej nazwie. Problemy te są rzadkie, ponieważ poprzez dobrą praktykę musimy unikać tego typu sytuacji przy opracowywaniu nowych ram; generalną zasadą jest zapewnienie programistom jak największej elastyczności, dzięki czemu framework nie jest przeszkodą, a nie pomocą.
Na poniższym obrazku zobaczymy, jak deklarowana jest klasa Kontakt w aplikacji w Django:

POWIĘKSZAĆ

Przy tak prostym kodzie wystarczy, że framework prześle dużą ilość funkcjonalności do naszego modelu, bez konieczności ręcznego ich dodawania przez programistę.
Kolejną rzeczą do zapamiętania jest to, że to jest kod Pyton, więc nie powinniśmy czuć się ograniczeni, ponieważ praktycznie każdy poprawny kod w Pythonie pomoże nam rozszerzyć nasze klasy.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave