Şimdi,
views.py dosyasında etkili bir şekilde görünümleri, kodu yazan koda bir göz atacağız.
Şimdi bakacağımız ilk görüş,
hiç kod yazmadığımız bir manzara.
Ve bu önceden tanımlanmış görünümdür, o TemplateView.
Ve yine, TemplateView,
Django, TemplateView'den bize verilen bir sınıftır ve ona bir parametre iletirsiniz.
Yani aslında burada bir işlevi çağırıyoruz
ve ona bir şablon adı geçiriyoruz ve bu da bir dosya, views/main.html.
Bu uygulama görünümleri,
şablonlar denilen bir alt klasör var ve sonra biraz bu konuda konuşacağım.
Uygulama adını iki kez tekrarlıyoruz.
Bu biraz garip.
Ama bu isimlerin tüm uygulamalarda küresel olduğu gerçeğini yapmak zorundadır.
Ve böylece muhtemelen birden fazla main.html olmasını istiyorsunuz.
İşte bu yüzden fazladan bir klasör adınız var ve
bunu oraya koyuyorsunuz. Gerçi biraz gereksiz geliyor ama sorun değil.
Ve bu sadece statik bir HTML dosyası. Veri
tabanından herhangi bir veri okumayacağım. Veri
tabanına herhangi bir veri yazmayacağım.
Bu dosyayı okuyacağım ve tarayıcıya geri göndereceğim.
Ve bu,
tarayıcıya geri göndermek istediğimiz bir dosyamız olduğu yaygın bir şeydir.
Ve bu yüzden,
urls.py dosyasındaki URL kalıplarına bu girişi eklemek dışında herhangi bir Python kodu yazmak zorunda değiliz.
Demek Python kodu yazmadığın bir manzara.
Şimdi, bir görünüm için Python kodu
yazacağınız bölümler için değişkenleri ileteceksiniz.
Değişkenlerin tümü istek nesnesiyle ilgilidir.
İstek nesnesi gelen tüm
verilerdir ve yanıt nesnesi görünümde ürettiğiniz ve hepsini geri gönderdiğiniz bir şeydir.
Bu nedenle, istek nesnesi HttpRequest sınıfının bir nesne örneğidir.
Bu önceden tanımlanmış bir Django
ve bir sürü şey var.
Şema, şimdi düzeni nedir?
Güvenli veya güvensiz https olsun ya da olmasın. Ceset mi? Bu bir ip.
Yani yaklaşık 20 ya da 30 özellik var.
Bazılarını kullanacağız, ama hepsini kullanmak zorunda değilsiniz, ama
gidip belgelere bakabilirsiniz.
Ve başvurunuz ne
kadar karmaşık hale gelirse, gelen isteğin birazını bulmak için araştırmak zorunda kalacaksınız.
Bu istek verilerinin tüm veri
sunucuya gönderildiği hakkında tarayıcı hata ayıklayıcısında gördüğünüz veriler olduğunu düşünebilirsiniz,
hepsi bu nesnenin bir yerinde biter.
Şimdi, bir görüntüden döndüğümüzde, geri bir cevap göndermeliyiz.
Ve bu yanıt, görüşümüzün içinde yarattığımız bir şeydir.
Basit bir metin olabilir HTML, ya da bir yönlendirme nesnesi olabilir,
başka bir sayfaya git diyen bir yönlendirme yanıtı.
Ve böylece, bunu yapıyoruz. Görüşün sonunda asıl iş
bir yanıt vermek ve sonra Django'ya geri vermek.
Ve böylece, işte çok basit bir görünüm.
Yani burada, görüş başvurusunda bulunduğumuzu söylüyoruz.
Manzarası korkak gideceğiz, değil mi?
Ve böylece urls.py, biz funky
adlı bu fonksiyona harita /funky diyoruz, bu bir funky fonksiyondur.
Bu yüzden ben buna “funky “diyorum.
Ve böylece bunu gördüğünde, isteğe gelen tüm veriler,
bu işleve gönderilen ilk parametre olan bu değişkende görünür.
Yani bunun urls.py dosyasında söylediği şey bu.
Görünüm/funky giden her şeyi alın,
tarayıcıdan tüm istek verilerini toplayın, bir nesneye koyun ve sonra bu istek nesnesini içeri aktarın.
Şimdi, bu istek
nesnesiyle hiçbir şey yapmayacağım çünkü hep aynı şeyi geri veriyorum.
Ve bu yüzden sadece daha az thans ve
daha büyük thans ile bazı HTML güzel üç alıntı dize var ve ben temelde dönmek için gidiyorum,
bir yanıt geri vermek görünümünde benim işim.
Birkaç tane var, iki ana tip. Birincisi HttpResponse,
tıpkı bir metin gövdesi gibi, ve buraya gönderdiğim şey de bu.
Bir HttpResponse gönderiyorum, o bir yapıcı.
Bir HttpResponse nesnesi oluşturuyoruz
ve oraya koyduğum ipi alıp uzaklaştıracağız.
Tamam mı? Ve böylece temelde bu yola girerseniz, bu
sayfayı geri alacaksınız ve her şey söylenip bittiğinde böyle görünüyor.
Tamam, şimdi parametrelere nasıl ulaşabileceğimizi konuşmak istiyoruz. Bu
yüzden bu istek nesnesinin görüş fonksiyonuna gelen
isteğin tüm verilerine sahip olduğunu belirttim.
Eğer bu soru işareti
anahtar-değer çiftleri ile bir görünüme gönderirsek, bu bir tahmin eşittir 42.
Ve urls.py dosyasındaki views.danger için tehlikeyi yönlendirmeye gidiyoruz.
Ve böylece tüm bu veriler istek adı verilen bu değişkene sarılır,
tehlike adlı işleve aktarılır.
Ve böylece, isteğin içinde bazı veriler bulunur. request.GET,
bu URL'de bulunan anahtar-değer çiftlerinin bir sözlüğüdür.
Yani 42'yi çıkarmak için, “
request.GET braketi “tahmin” diyebiliriz ve bu da onu dışarı çeker.
Ve burada elimizdeki tek şey çok basit bir HTML sayfası ve
bu küçük parçayı 42 ile değiştiriyoruz.
Ve bu sayı her neyse çıktıda tekrar çıkıyor.
Yani senin tahminin 42 idi.
İşte GET verilerini böyle bir görünüme aktarıyoruz.
Şimdi,
size tam olarak neden bu fonksiyona “tehlike “dediğimi açıklayacağım.
[ MÜZİK]