19 Şubat 2014 Çarşamba

Şablon Nedir ve Nasıl Kullanılır ?

Şablonlar sayfa tasarımını ve kod kısımlarını birbirinde ayırmamızı sağlarlar. Görünümler konusunda görümün fonksiyonları içerisinde doğrudan HTML taglarını kullanmıştık.
def ana_sayfa(request):
    return HttpResponse("

Ana Sayfa


Ana sayfa içerikleri")
Bu şekilde kullanım küçük projelerde ve tek başınıza bir proje geliştiriyorsanız sizin için sorun olmayabilir. Fakat büyük ve profesyonel projelerde tasarımı ve programlamayı aynı kişi yapmaz. Bu tarz projelerde bu tarz bir kullanımı düşünürsek tasarımcı ve programcının sürekli irtibat halinde olması gerekir. Programcı tasarımcının hazırladığı CSS ve HTML kodlarının programın içine entegre etmesi gerekir. Yada tasarımcı istediği görüntüyü elde edebilmek için program üzerinde çeşitli değişiklikler yapar. Bu şekilde bir proje geliştirmenin oldukça zahmetli olacağını kestirmek zor değildir. Django kullananlar için bu problemler Şablonlar ile ortadan kaldırılmıştır.
Elimizde bulunan bir html dosyasını Şablonlar ile düzenleyelim.
sablon.html



{{ baslik }}



Okul Adı: {{ okuladi }}
Bölüm Adı: {{ bolumadi }}
Sınıf : {{ sinif }}
Programcı bu HTML kodlarını bilmek zorunda değildir. HTML kodlarını yazmak ve CSS ayarlarını yapmak tasarımcının işidir. Programcı buraya müdahale etmez. Sadece içerisine gönderilmesi gereken etiketleri bilmek zorundadır. Bu etikeler {{ etiket }} şeklinde tanımlanmıştır. Programcının yapması gereken tek şey bu etiketlere değerlerini göndermektir.
sablon.py
# -*- coding: utf-8 -*-

veri = {
    'baslik':'Okul Bilgileri',
    'okuladi': 'Sakarya Üniversitesi',
    'bolumadi': 'Bilgisayar Mühendisliği',
    'sinif':2
}

HTML = open("sablon.html").read()
for i in veri:
    HTML = HTML.replace("{{ "+i+" }}",str(veri[i]))

print HTML
Çıktı



Okul Bilgileri



Okul Adı: Sakarya Üniversitesi
Bölüm Adı: Bilgisayar Mühendisliği
Sınıf : 2
Şablon mantığını anlamak için bu örneği verdik. Artık tasarımcı sablon.html dosyasını kendisine göre programcı sablon.py dosyasını kendisine göre düzenleyebilir. İki işi birbirinden ayırmış olduk. Bilmeleri gereken sadece etiketlerdir.
Şablonları neden kullanmalıyız? sorusunun cevabını bir de http://www.djangobook.com/en/2.0/chapter04.htmlr adresinden alalım.
  • Sayfanın tasarımındaki herhangi bir değişiklik python kodlarında da bir değişikliği gerektirir. Bir sitenin tasarımı o sitenin temelinde olması gereken Python kodundan daha fazla değiştirmeye neden olur, yani sitenin tasarımını değiştirmek için Python kodunda değişikliğe ihtiyaç duyulmuyor ise bu mantıklı olanıdır.
  • Python kodu yazmak ve HTML tasarlamak iki farklı düzendir, ve çok profesyonel web geliştirme ortamları insanlar (hatta bölümler) arasında bu sorumlulukları böler. Tasarımcılar ve HTML/CSS codlayılar işlerinde başarılı olmaları için Python kodunda düzenleme yapılmasına ihtiyaç bırakmamalıdırlar.
  • Hem HTML hem de python kodunu içeren tek bir dosyanın düzenlenmesini bitirmek için diğerlerini bekleyen bir kişi yerine, programcılar Ptyhon kodları üzerinde ve tasarımcılar da şablonların üzerinde aynı zamanda çalıştırabiliyorsa bu iş en verimli olanıdır.

Kaynakça
  • Mustafa Başer Django Kitabı

2 yorum :

  1. sablon.py
    10. satırda
    HTML = open("a.html").read()

    a.html değil
    sablon.html olacak. Değil mi?

    YanıtlaSil