İçeriğe atla

Jinja

Vikipedi, özgür ansiklopedi
Jinja
Orijinal yazar(lar)Armin Ronacher
İlk yayınlanma17 Temmuz 2008 (16 yıl önce) (2008-07-17)[1]
Güncel sürüm2.11.2 / 13 Nisan 2020 (4 yıl önce) (2020-04-13)[1]
Programlama diliPython
TürŞablon motoru
LisansBSD lisansı
Resmî sitesipalletsprojects.com/p/jinja/ Bunu Vikiveri'de düzenleyin
Kod deposu Bunu Vikiveri'de düzenleyin

Jinja, Python programlama dili için oluşturulmuş bir tasarım motorudur. Django şablon motoruna benzer ancak, Python'a benzer ifadeler kullanır ve şablon dosyaları bir Sandbox içerisine konur.

Diğer tasarım motorlarında olduğu gibi;

  • Tasarım ve kodun birbirinden ayrıştırılması
  • Farklı yer ve mekanlarda çalışan farklı kişilerin, rahat çalışması
  • Geliştiricilerin (şablon tasarımcısı ve yazılımcı), birbirlerinin işlerine en az müdahale ile en verimli işi yapması
  • Küçük gruplu büyük projelerde ve yazılımda, çok büyük bir problem olan "Yazılım Krizi" ve "Yazılım Depresyonunun" engellenmesinde yardımcıdır.

Metin tabanlı bir tasarım dilidir ve kaynak kod kadar işlevli sonuçlar ortaya koyabilir. BSD lisansı ile lisanslıdır.

Jinja şablon motoru, etiketlerin (tag), filtrelerin, testlerin ve globallerin düzenlemesine de müsaade eder. Jinja ayrıca -Django şablon motorundan farklı olarak- şablon'u tasarlayan kişiye argüman ve objelerle fonksiyon çağırma olanağı sağlar.

Smarty'de olduğu gibi, Unix sistemlerindeki Pipeline'a benzer, kolay kullanımlı bir filtre sistemine de sahiptir.

seas.harvard.edu'nun geliştiricileri, jinja kullanmaktadır.[2]

Basit bir şablon ele alalım:

from jinja import from_string

tmpl = from_string(u'''\
<html>
<head><title>{{variable|escape}}</title></head>
<body>
{% for item in list %}
   {{item}}{% if not loop.last %},{% endif %}
{% endfor %}
</body>
</html>''')

print tmpl.render(
    variable='Value with <unsafe> data',
    list=[1, 2, 3, 4, 5, 6]
)
  1. ^ a b "Jinja2 Release History". 3 Ekim 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Haziran 2020. 
  2. ^ "Jazkarta". 24 Eylül 2020 tarihinde kaynağından arşivlendi. 

Dış bağlantılar

[değiştir | kaynağı değiştir]