Django - Nitelikler ve Sınıf Bildirimi

İçindekiler
Django kullanacağı sınıfları belirlemenin bildirimsel yolunu ele alır, bu, modeller oluşturabileceğimiz anlamına gelir. metasınıflar Sadece özel bir sınıf oluşturarak temel ve gelişmiş işlevleri elde edebileceğimiz zaten tanımlanmış, bu, programa dahil edilen tüm araçlar sayesinde çerçeve.
Belki de bize kalan noktalardan biri, nasıl bileceğimiz, çerçevenin işleri nasıl yaptığı, yani sınıflara yerleştirdiğimiz nitelikleri hangi sırayla bildirdiğidir.
Sınıf niteliklerini sıralama
Elimizde bulunan bildirimsel sözdizimini kullandığımızda Django, bir karışıklık noktası ortaya çıkabilir ve beyan edilen değerlerin atanma sırası budur, bunun nedeni şudur: piton sözlüklerini dağınık bir şekilde ele alır; Normalde bu büyük bir sorun oluşturmaz, ancak ad alanlarını veya ad alanlarını işlerken, öznitelikler üzerinde belirli bir yineleme yapmamız gerekirse, değerlerin atandığı sırayı bilmek önemlidir, çünkü bir engel.
Uygulamamız üzerinde tam kontrole sahip olmak için, değerlerin atandığı sıranın ne olduğunu bir şekilde bilebiliriz, böylece rastgele bir sıra atamaktan kurtulabiliriz.
Bu sıralamayı başarmak için yapabileceğimiz şey, her özniteliğin kendi başına dizideki konumunun bir izini taşımasıdır, bunun için sınıflarımızı, sınıfın kaç kez başlatıldığını sayabilen bir temel sınıftan miras almalı ve böylece atamalıyız. her birine bir bağıntılı sayı:
 class BaseAttribute (nesne): create_counter = 1 def __init __ (self): self.creation_counter = BaseAttribute.creation_counter BaseAttribute.creation_counter + = 1 

Kod örneğinde şunları görüyoruz:
Her bir örneği Nesne sahip olmak ad alanı veya sınıflardan farklı ad alanı, bu nedenle bu sınıfın örneklerinin her biri, nesneleri somutlaştırıldıkları sıraya göre sıralamak için kullanabileceğimiz bir oluşturma sayacına sahip olacaktır.
Bu, ortaya atılan sorunun tek çözümü olmayabilir, ancak Django modeller ve formlar için alanları sıralar.
Gördüğümüz gibi, sorun sadece nasıl yapıldığının bir örneğiydi. Django bir çerçeve olarak Python kaynaklarını kullanarak sınıfları ve içeriklerini işler.
Sınıf Beyanı
Bir modülde bulunan tüm sınıflarla birlikte, uygulamalı bir sınıf oluşturmak, bir alt sınıf tanımlamak ve niteliklerini eklemek kadar basittir.
Farklı mevcut çerçeveler, sınıfın nitelikleri için farklı isimlere sahip olacak ve hatta sınıfların nasıl gerekli olduğu veya uygulanmaları gereken form ve kombinasyonlar için farklı gereksinimleri olacak, ayrılmış isimlere sahip olma noktasına ulaşabilir. bu ada sahip bir öznitelik oluşturulursa çakışmalara neden olur. Bu sorunlar nadirdir, çünkü iyi uygulamalarla yeni bir çerçevenin geliştirilmesinde bu tür durumlardan kaçınmamız gerekir; Genel kural, geliştiricilere mümkün olan en yüksek esnekliği vermektir, bununla çerçevenin bir yardım yerine bir engel olmadığını başarıyoruz.
Aşağıdaki resimde sınıfın nasıl bildirildiğini göreceğiz. Temas etmek Django'daki bir uygulamada:

BÜYÜT

Bu basit kodla, geliştiricinin bunları manuel olarak eklemesine gerek kalmadan çerçevenin modelimize çok sayıda işlevsellik iletmesine izin vermemiz yeterlidir.
Hatırlanması gereken başka bir şey de bunun kod olduğudur. piton, bu yüzden sınırlı hissetmemeliyiz, çünkü Python'daki hemen hemen her geçerli kod, sınıflarımızı genişletmemize yardımcı olacaktır.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave