Django – Attribute und Klassendeklaration

Django verwendet die deklarative Form, um die Klassen festzulegen, die er verwenden wird. Dies bedeutet, dass wir Modelle aus bereits definierten Metaklassen erstellen können, mit denen wir grundlegende und erweiterte Funktionen erhalten können, indem wir einfach eine personalisierte Klasse erstellen Rahmen

Einer der Punkte, der uns vielleicht in der Luft bleibt, ist das Wissen, die Form, in der der Rahmen die Dinge verwirklicht, dh in welcher Reihenfolge er die Attribute deklariert, die wir in die Klassen einordnen.

Klassenattribute sortieren

Wenn wir die in Django verfügbare deklarative Syntax verwenden, kann es zu Verwirrung kommen, und dies ist die Reihenfolge, in der die deklarierten Werte zugewiesen werden. Der Grund dafür liegt darin, dass Python seine Wörterbücher auf ungeordnete Weise verwaltet. Normalerweise stellt dies kein großes Problem dar. Wenn Sie jedoch die Namespaces oder Namespaces verwalten und die Attribute einer bestimmten Iteration unterziehen müssen, ist es wichtig, die Reihenfolge zu kennen, in der die Werte zugewiesen wurden Hindernis

Um die volle Kontrolle über unsere Anwendung zu haben, können wir irgendwie wissen, in welcher Reihenfolge die Zuweisung von Werten erfolgt, sodass wir keine willkürliche Zuweisung einer Reihenfolge vornehmen müssen.

Um diese Reihenfolge zu erreichen, können wir jedes Attribut dazu bringen, eine Spur seiner Position in der Sequenz zu tragen. Dazu müssen wir unsere Klassen von einer Basisklasse erben lassen, die zählen kann, wie oft die Klasse instanziiert wurde, und eine zuweisen Nummer korrelativ zu jedem von ihnen:

 Klasse BaseAttribute (Objekt): creation_counter = 1 def __init __ (self): self.creation_counter = BaseAttribute.creation_counter BaseAttribute.creation_counter + = 1 

Im Codebeispiel sehen wir Folgendes:

See also  So planen, budgetieren und messen Sie eine SEO-Kampagne

Jede Instanz von Object hat einen anderen Namespace oder Namespace als die Klassen. Daher verfügt jede Instanz dieser Klasse über einen Erstellungszähler, anhand dessen wir die Objekte in der Reihenfolge anordnen können, in der sie instanziiert wurden.

Vielleicht ist dies nicht die einzige Lösung für das Problem, aber es ist die Art und Weise, wie Django die Felder für die Modelle und Formen anordnet.

Wie wir sehen, war das Problem nur ein Beispiel dafür, wie Django als Framework die Klassen und deren Inhalt mithilfe von Python-Ressourcen verwaltet.

Klassenerklärung

Bei allen Klassen in einem Modul ist das Erstellen einer Anwendungsklasse so einfach wie das Definieren einer Unterklasse und das Hinzufügen ihrer Attribute.

Die verschiedenen vorhandenen Frameworks haben unterschiedliche Namen für die Attribute der Klasse, und sogar unterschiedliche Anforderungen für die Anforderungen an die Klassen oder die Form und Kombination, in der sie angewendet werden müssen, können dazu führen, dass reservierte Namen vorhanden sind, die dazu führen können Konflikte, wenn ein Attribut mit diesem Namen erstellt wird. Diese Probleme sind selten, da wir aufgrund bewährter Verfahren diese Situation bei der Entwicklung eines neuen Rahmens vermeiden müssen. Die allgemeine Regel ist, den Entwicklern so viel Flexibilität wie möglich zu geben. Dadurch erreichen wir, dass das Framework kein Hindernis, sondern eine Hilfe ist.

In der folgenden Abbildung sehen wir, wie die Contact- Klasse in einer Anwendung in Django deklariert wird:

django_declaracionclases.jpg
Mit diesem einfachen Code reicht es aus, das Framework eine große Anzahl von Funktionen auf unser Modell übertragen zu lassen, ohne dass der Entwickler sie manuell hinzufügen muss.

See also  PV-Befehl und Progress Linux, um die Fortschrittsbefehle anzuzeigen

Eine andere Sache, an die wir uns erinnern müssen, ist, dass dies Python- Code ist, daher sollten wir uns nicht eingeschränkt fühlen, da praktisch jeder gültige Code in Python uns hilft, unsere Klassen zu erweitern.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *