Django - Sınıf Tabanlı Görünümler

İçindekiler
itibaren Django sürüm 1.3 Oldukça önemli bir değişiklik getirildi, bu, daha önce yapıldığı gibi işlevler yerine sınıflar aracılığıyla görünümler oluşturma olasılığını dahil etmekti, görünüm nesnelerini ele alırken, daha fazla bağlı kalabileceğimiz daha genel görünümler oluşturma olasılığı oluşturuldu. KURU prensibi kendini tekrar etme.
Sınıf Bazlı Görünümler
Şu anda, görüşlerin işlevlerle sınırlı olması gerekmiyor, bunun nedeni Django'da önemli olanın çağrılabilecek bir öğe elde edebilmek olduğu gerçeği sayesinde, bu yaklaşım sayesinde bazı özgürlüklere sahip olabiliriz. çağrılabilecek öğeleri nasıl oluşturduğumuz. Sınıf tabanlı görünümler oluşturarak aşağıdaki avantajları elde ederiz:
1Yapılandırılabilirlik aralığı daha yüksektir.
2Özel projeler oluştururken özelleştirmek çok daha kolaydır.
3Nesneleri başka amaçlar için yeniden kullanabiliriz.
Bununla birlikte, kodla tutarlılığı korumak için sınıf oluşturmanın farklı yolları olduğu doğrudur. Django sınıflarımızı çerçevenin genel sınıflarına benzer hale getirmeye çalışmalıyız.
Her neyse, bunu yaparken akılda tutulması gereken bir öneri, daha önce bahsedilen genel sınıflardan farklı olmamız gerekse bile, uygulamamızın ihtiyaç duyduğu şekilde sınıfları oluşturmamızın engellenmediğidir.
Genel görünüm Django.views.generic.base.View
Rehbersiz her başlangıç ​​zor olduğundan, Django Bize jenerik görünümünü sunarak bu dünyaya girmemizi kolaylaştırıyor, onu kullanmak için sadece onun bir alt sınıfını yapmamız gerekiyor ve bu şekilde bir temelimiz olacak.
Açıkçası bu, en başından ihtiyacımız olanı yapmayacak, ancak aşağıdaki işlevleri kullanabiliriz:
1Görünüm yapılandırmasına iletilen bağımsız değişkenlerin doğrulanması.
2HTTP yöntemleri gibi adlandırılan argümanların kullanılmasını engeller.
3URL yapılandırmasında iletilen bağımsız değişkenleri toplayın.
4Görünüm tarafından çağrılan bir HTTP yönteminin desteklendiğini doğrulayın.
5Seçenek isteklerini otomatik olarak işler.
Bir Sınıfta Görünüm nasıl oluşturulur
Bunun ne anlama geldiğinin farklı özelliklerini zaten gördük. sınıflarla görünümler oluşturunHatta bazı avantajlar gördük, şimdi sonuç elde etmek için bildiklerimizi koda nasıl çevirebileceğimizi göreceğiz.
Aşağıdaki resimde, bir alt sınıf oluşturarak oluşturulan bir görünümü görelim. genel Django Görünümü:

Kodun bir analizini yapalım, eğer bakarsak sınıfımızı oluşturuyoruz ve bunun bir olması gerektiğini belirtelim. Alt sınıfı görüntüle böylece tüm işlevlerini elde edeceğiz, o zaman hangi şablonun sınıfla ilişkilendirilmesi gerektiğini belirtiriz ve sonunda get ve post yöntemlerini geçersiz kılıyoruz, bu şekilde mantığımızı dahil edebiliriz.
ÖnemliGörünümü kullanmak için, bunu kendi sayfamızda beyan etmeliyiz. url'deki desen kullanarak bir görünüm olarak ele alınması gerektiğini söyleyin. as_view() yöntemi, isteğe bağlı olarak, sonuçları döndürmesi gereken şablonun adını iletebiliriz.
Bu öğreticiyi bitirmek için, aşağıdaki resimde yukarıda bahsedilenlerin bir örneğini görelim:

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