28 Şubat 2014 Cuma

Filtreler

Django,şablonları içerisinde filtreler kullanmamıza olanak sağlar.
###Kullanımı###
{{ baglam_degiskeni|filtre:filtre_argumani}}
add
Şablon değişkenlerini toplamamızı sağlar.
s = template.Context({"sayi1":5,"sayi2":10})
b = template.Template('Sayıların toplamı:{{ sayi1|add:sayi2 }}');
print b.render(s)
###Çıktı###
Sayıların toplamı:15
capfirst,title
capfirst cümlenin ilk harfini büyük yapmak için kullanılır. title ise girilen cümlediki tüm kelimelerin ilk harflerini büyük yapar.
s = template.Context({"cumle":"sakarya üniversitesi bilgisayar mühendisliği"})
b = template.Template('{{ cumle|capfirst }}');
print b.render(s)
###Çıktı###
Sakarya üniversitesi bilgisayar mühendisliği
s = template.Context({"cumle":"sakarya üniversitesi bilgisayar mühendisliği"})
b = template.Template('{{ cumle|title }}');
print b.render(s)
###Çıktı###
Sakarya Üniversitesi Bilgisayar Mühendisliği
addslashes
' işaretlerinden önce kaçış dizisi koymaya yarar.
s = template.Context({"cumle":"Sakarya'nin merkez'i Adapazarıdır"})
b = template.Template('{{ cumle|addslashes }}');
###Çıktı###
Sakarya\'nin merkez\'i Adapazarıdır
join
Liste elemanlarını istediğimiz karakter ile birleştirmemizi sağlar.
programlama = ["Python","Java","C++","Php"]

s = template.Context({"programlama":programlama})
b = template.Template('{{ programlama|join:"
  • " }}'); print b.render(s ###Çıktı### Python
  • Java
  • C++
  • Php
  • cut
    Kesme işlemi yapar herhangi bir karakter kümesini cümleden çıkartmamızı sağlar.
    s = template.Context({"programlama":"Programalama şimdinin ve geleceğin mesleğidir."})
    b = template.Template('{{ programlama|cut:" "}}');
    print b.render(s)
    ###Çıktı###
    Programalamaşimdininvegeleceğinmesleğidir.
    
    default
    Bağlam değişkenin değeri false(herhangi bir atama yapılmadığı durum) dönüyorsa ön tanımlı olarak değer atamamızı sağlar.
    s = template.Context({"index":""})
    b = template.Template('{{ index|default:1}}');
    print b.render(s)
    ###Çıktı###
    1
    
    dictsort
    Liste'yi sıralamamızı yapmamızı sağlar.
    ogrenciler = [
     {'isim':'Uygar','yas':21},
     {'isim':'Mazlum','yas':20},
     {'isim':'Okan','yas':21}
    ]
    
    b = template.Template('{{ogr|dictsort:"isim"}}');
    s=template.Context({'ogr':ogrenciler})
    print b.render(s)
    ###Çıktı###
    ogrenciler = [
     {'isim':'Mazlum','yas':20},
     {'isim':'Okan','yas':21},
     {'isim':'Uygar','yas':21}
    ]
    
    leghth
    Listenin uzunluğunu verir.
    program = ["Python","PHP","Java","C++"]
    
    b = template.Template('Listede {{program|length}} programlama dili yer almaktadır.');
    s=template.Context({'program':program})
    print b.render(s)
    ###Çıktı###
    Listede 4 programlama dili yer almaktadır.
    
    first
    Listenin ilk elemanını verir.
    program = ["Python","PHP","Java","C++"]
    
    b = template.Template('Öğreneceğimiz ilk programlama dili: {{program|first}}');
    s=template.Context({'program':program})
    print b.render(s)
    ###Çıktı###
    Öğreneceğimiz ilk programlama dili: Python
    
    lower,upper
    Cümlenin tüm karakterlerini büyük(upper) veya küçük(lower) yapmamızı sağlar.
    b = template.Template('Öğreneceğimiz ilk programlama dili: {{program.0|upper}}');
    ###Çıktı###
    Öğreneceğimiz ilk programlama dili: PYTHON
    b = template.Template('Öğreneceğimiz ilk programlama dili: {{program.0|lower}}');
    ###Çıktı###
    Öğreneceğimiz ilk programlama dili: python
    
    random
    Listeden rastgele bir eleman seçmemizi sağlar.
    b = template.Template('Bugün ki programlama dilimiz: {{program|random}}');
    ###Çıktı###
    Bugün ki programlama dilimiz: PHP
    
    removetags
    HTML etiketlerini silmemizi sağlar.
    b = template.Template('{{HTML|removetags:"span"}}');
    s=template.Context({'HTML':'
    pythondersleri.com ücretsiz eğitim verir.
    '}) print b.render(s) ##Çıktı###
    pythondersleri.com ücretsiz eğitim verir.
    time
    datetime biçiminde zamanları göstermek için kullanılır.
    b = template.Template('{{zaman|time:""}}');
    s=template.Context({'zaman':datetime.datetime.now()})
    print b.render(s)
    ###Çıktı###
    2:28 a.m.
    
    unordered_list
    Listelerden HTML listesi oluşturmayı sağlar. Çok faydalı bir filtredir.
    b = template.Template('
      \n{{dersler|unordered_list}}\n
    '); s=template.Context({'dersler':['Bilgisayar Mühendisliği',['Algoritma','Sistem Programlama','Veri Yapıları']]}) print b.render(s) ###Çıktı###
    • Bilgisayar Mühendisliği
      • Algoritma
      • Sistem Programlama
      • Veri Yapıları
    urlize
    Adresleri url biçimine dönüştürmemizi sağlar. İşimizi çok kolaylaştırır. Gerçekten çok iyi bir filtredir.
    b = template.Template('{{pythondersleri|urlize}}');
    s=template.Context({'pythondersleri':"www.pythondersleri.com ücretsiz ders vermektedir. İletişim için mehmet@mehmetince.net"})
    print b.render(s)
    ###Çıktı###
    www.pythondersleri.com ücretsiz ders vermektedir.
    İletişim için mehmet@mehmetince.net
    

    Kaynakça

    0 yorum :

    Yorum Gönder