Kayıt Ol

Giriş


Şifremi Kaybettim

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

soru ekleme

Soru sormak için giriş yapmalısınız.

Giriş


Kayıt Ol

Merhaba, kayıt formu üzerinden kayıt olabilirsiniz. Fakat sosyal medya ile kayıt olmanızı önermekteyiz.

Django Özel Şablon Etiketleri Ve Filitreleri Oluşturmak

Django Özel Şablon Etiketleri Ve Filitreleri Oluşturmak

Django’da template içerisinde “{{ }}” veya “{% %}” gibi ifadeler kullanıyoruz. Bu ifadelere genel olarak şablon dili diyebiliriz. Django’da şablo dili etiketleri ve filitreleri yerleşik olarak gelmektedir, fakat bazı durumlarda eksik veya yetersiz kalabiliyor. Bu durumun üstesinden gelmek için, kendi filitremizi ve etiketlerimizi oluşturmaya imkan sağlamaktadır.

Kendimize özel şablon etiketi yaratırken, proje dosyası içerisinde “Templatetags” adlı bir klasör oluşturup, içersinde kesinlikle “__init__.py” adlı boş belgede oluşturmalıyız. Çünkü django bunu paket olarak algıyacaktır.

Kısaca şöyle ifade edebiliriz ;

Yukarıdakı iskelete göre, bizim şablon kodlarımız “poll_extras.py” içerisinde olması gerekemtekdir.

Yazdığımız kodları şablon içerisinde kullanabilir hale getirmek için, {% load poll_extras %} ifadesi kullaniyoruz.

Filitre İşlemleri

{{ argüman | filitre }}” yapısında olan filitrelerdir.

“poll_extrass.py” içerisine girip, şunları yazalım ;

yazacağımız fonksiyonları “register” değişkeni ile, template kütüphanesine kayıt edeceğiz. Kayıtlı olanlar template tarafına doğrudan çağırabilcekler.

Örnek Kullanıma Bakalım

  • @register.filter() filitre işlemleri içindir.

Template Tarafında Çağırıp, Kullanalım

  • Fonksiyonlarda is_safe=True kullanılması önerilmektedir çünkü, gelen veriler sayısal,string veya özel karakter içerebilir, django bunu filitre eder.

Örnek Kullanımı ;

Etiket İşlemleri

{% fonksiyon “argüman” %} veya {% fonksiyon %} şeklinde olan etiketlerdir. Örnek olarak, iimdiki zamanı bize veren bir etiket yazalım.

Örnek Kullanıma Bakalım

  • @register.simple_tag etiket işlemleri içindir.

Template Tarafında Çağırıp, Kullanalım

Çok detaylı anlatma fırsatım olmadı, bir ön bilgi nasıl kullanılır ne iş yarar gibisinden giriş yapmış olduk.

Detaylı kaynak : https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/

Umarım faydalı olmuştur.

Hakkında Ali YamanProfesyonel

Herzaman bilginin gücüne inanlardan oldum , araştirmalarım ve deneyimlerimlerimi sizlere sunmayı amaçlıyorum. İstanbul Üniversitesi Kontrol ve Otomasyon Öğrencisiyim Elektronik ve Programlama ile ilgim var.

Beni Takip Et

Leave a reply

Captcha Captcha güncellemek için resime tıkla