İçeriğe atla

Jinja

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]

Örneğin

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]
)

Notlar

  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

İlgili Araştırma Makaleleri

Bilişim, bilişim bilimi ya da bilgisayar bilimi, bilgi ve hesaplamanın kuramsal temellerini ve bunların bilgisayar sistemlerinde uygulanabilmeleri sağlayan pratik teknikleri araştıran bir yapısal bilim dalıdır. Bilişimciler ya da bilgisayar bilimcileri bilgi oluşturan, tanımlayan ve dönüştüren algoritmik süreçler icat edip, kompleks sistemleri tasarlamak ve modellemek için uygun soyutlamalar formüle ederler. Bilişim Dünya'da hızla gelişmeye devam eden önemli bir teknolojidir.

<span class="mw-page-title-main">JavaScript</span> programlama dili

JavaScript, HTML ve CSS ile birlikte World Wide Web'in temel teknolojilerinden biri olan programlama dilidir. Web sitelerinin %97'sinden fazlası, web sayfası hareketleri için istemci tarafında JavaScript kullanırlar ve kullanılan kodlar genellikle üçüncü taraf kitaplıkları içerir. Tüm büyük web tarayıcılarında, kaynak kodunu kullanıcıların cihazlarında yürütebilmek için özel bir JavaScript motoru bulunur.

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

<span class="mw-page-title-main">Makine mühendisliği</span> Mühendislik

Makine mühendisliği, mekanik sistemlerin tasarım, analiz, imalat ve bakımı için mühendislik fiziği ve mühendislik matematiği ilkelerini malzeme bilimi ile birleştiren bir mühendislik dalıdır.

<span class="mw-page-title-main">Bellek yönetimi</span>

Ana belleğin işlemler arasında paylaştırılmasına ana bellek yönetimi ya da bellek yönetimi adı verilir. İşletim sisteminin bu amaçla oluşturulan kesimine de bellek yöneticisi adı verilir.

<span class="mw-page-title-main">Web sayfası</span> World Wide Web ve web tarayıcıları aracılığıyla doğrudan görüntülenebilen tek belge

Web sayfası, World Wide Web için hazırlanan ve web tarayıcısı kullanılarak görüntülenebilen dokümanlardır. Web sayfaları çoğunlukla HTML formatında kodlanır, CSS, betik, görsel ve diğer yardımcı kaynaklardan yararlanılarak son görünümüne sahip olur ve işlevsellik kazanır. Birden fazla web sayfasının bir araya gelmesi ile ortaya çıkan web sitesi ile karıştırılmamalıdır. Günlük konuşma dilinde internet sayfası terimi de çoğunlukla web sitesi anlamında kullanılmaktadır.

ASP.NET, Microsoft tarafından geliştirilmiş olan bir açık kaynak Web uygulama gelişimi teknolojisidir. Dinamik Web sayfaları, Web uygulamaları ve XML tabanlı Web hizmetleri geliştirilmesine olanak sağlar. Aynı işletme tarafından geliştirilen .NET çatısı'nın yazılım iskeleti parçası ve artık işletmece desteklenmeyen ASP teknolojisinin devamını teşkil etmiştir.

<span class="mw-page-title-main">İnternet sitesi</span> tek bir web alanından sunulan ilgili web sayfaları kümesi

Web sitesi, Ortak bir alan adı ile tanımlanan ve en az bir web sunucusunda yayınlanan web sayfaları ve ilgili içeriklerden oluşan bir koleksiyondur. Web üzerindeki sayfalar; metin, görsel ve animasyon şeklinde ziyaretçisine bilgi aktaran veya hizmet sunan sayfaların tümünü kapsayan bir doküman topluluğudur. Ziyaretçiler bir web sitesine, HTTP veya HTTPS protokollerinde aşağıdaki bileşenlerden oluşan benzersiz bir adresi kullanarak erişirler:

<span class="mw-page-title-main">PiSi Paket Yöneticisi</span>

PiSi, 2011.2 sürümüne kadar Pardus'un güncel olarak da Pisi Linux ve Solus'un paket yöneticisidir. Bağımlılıkları takip ederek paket inşa etme, kurma, kaldırma, yükseltme ve benzeri işlevleri yerine getirir. Kullanıcı dostu bir grafiksel arayüz ve kapsamlı bir komut satırı arayüzü içerir. Geliştiriciler için tanıdık ve basit bir geliştirme ortamı sunar.

Nesne Yönelimli Çözümleme ve Tasarım, bir sistemin/sistem modülleri setinin/organizasyonun/işletme biriminin gereksinimlerinin çözümlenmesinde ve uygun bir çözümün tasarımında nesne ile modelleme tekniklerini kullanır. Modern nesne yönelimli çözümleme ve tasarım yöntemlerinin çoğu, gereksinim, tasarım, uygulama, test ve dağıtım süreçleri boyunca kullanım senaryoları üzerine kuruludur. Kullanım Senaryoları, nesne yönelimli programlama ile birlikte ortaya çıkmış olmasına rağmen yordamsal programlanan sistemlerde de işe yaramaktadır.

<span class="mw-page-title-main">HTML</span> işaretleme ve web programlama dili

Hiper Metin İşaretleme Dili web sayfalarını oluşturmak için kullanılan standart metin işaretleme dilidir. Dilin son sürümü HTML5'tir.

<span class="mw-page-title-main">Django</span> Python web çerçevesi

Django, Python Programlama Dili için hazırlanmış ve BSD lisansı ile lisanslanmış yüksek seviyeli bir web çatısıdır. Basit kurulumu ve kullanımı, detaylı hata raporu sayfaları ve sunduğu yeni arayüz kodlama yöntemleriyle diğer sunucu yazılımı ve çatılardan kendini ayırmaktadır. İsmi, caz gitaristi Django Reinhardt'tan gelmektedir.

Smarty, PHP ile yazılmış bir şablon motorudur. Özellikle web geliştirirken tasarım ve yazılım süreçlerinin birbirinden bağımsız hale getirilmesini sağlayan bir araç olarak tanınmaktadır.

Swift, Apple tarafından iOS ve macOS platformlarına iOS ve Mac uygulamaları geliştirmek için oluşturulan, derlenerek çalışan güçlü ve kullanımı kolay, nesne yönelimli bir programlama dili.

<span class="mw-page-title-main">React</span> Kullacı arayüzleri oluşturmak için kullanılan JavaScript kütüphanesi

React, kullanıcı arayüzü oluşturmaya yarayan açık kaynak kodlu bir javascript kütüphanesidir. Facebook önderliğinde bir geliştirici grubu tarafından geliştirilmekte olan React, Model-View-Controller prensibine uygun olarak oluşturulmuştur. React ile single-page olarak adlandırılan sayfalar geliştirilebileceği gibi React-Native ile mobil uygulamalar da geliştirilebilir.

Apache Velocity Java kodlarındaki nesnelerle etkileşimde kullanılan Java temelli bir şablon motorudur.

Bilgi işlemde gettext, Unix benzeri bilgisayar işletim sistemlerinde çok dilli programlar yazmak için yaygın olarak kullanılan bir uluslararasılaştırma ve yerelleştirme sistemidir. Gettext'in temel faydalarından biri, programlamayı çevirmekten ayırmasıdır. Gettext'in en sık kullanılan uygulaması, 1995 yılında GNU Projesi tarafından yayınlanan GNU gettext'idir .Çalışma zamanı kitaplığı libintl'dir. Gettext, çok sayıda isim türü için farklı dizeler kullanma seçeneği sunar, ancak dilbilgisel cinsiyet için desteği yoktur.

<span class="mw-page-title-main">Web şablon sistemi</span>

Web yayıncılığı'ndaki web şablon sistemi, web tasarımcılarının ve geliştiricilerin, bir aramanın sonuçları gibi özel web sayfa'larını otomatik oluşturmak için web şablonları ile çalışmasına olanak tanır. Bu, dinamik öğeleri web isteği parametrelerine dayalı olarak tanımlarken statik web sayfası öğelerini yeniden kullanır. Web şablonları statik içeriği destekleyerek temel yapı ve görünüm sağlar. Geliştiriciler içerik yönetim sistemlerinden, Web uygulama iskeletlerinden ve HTML düzenleyicilerinden şablonları kullanabilir.