Jinja (lausutaan jinja ) on Python - ohjelmointikielen mallimoottori . Se on samanlainen kuin Django - mallipohja , mutta tarjoaa Python-tyyppisiä lausekkeita, jotka mahdollistavat mallien suorittamisen hiekkalaatikossa . Se on tekstin mallinnusmoottori, joten sitä voidaan käyttää minkä tahansa merkintöjen ja lähdekoodin luomiseen. Lisenssi BSD-lisenssillä .
Jinja-mallimoottorin avulla voit mukauttaa tunnisteita [1] , suodattimia, testejä ja yleisiä muuttujia [2] . Lisäksi, toisin kuin Django-mallimoottori, Jinja sallii mallin rakentajan kutsua toimintoja objektien argumenteilla.
Jinjan, kuten Smartyn , mukana tulee myös helppokäyttöinen suodatinjärjestelmä, joka muistuttaa Unix-putkia .
Yksinkertainen malliesimerkki:
Jinjasta tuonti from_string _ tmpl = from_string ( ''' \ <html> <head><title>{{ variable|escape }}</title></head> <body> { % kohteelle item_listissa %} {{ item }}{ % i f not loop.last %},{ % e ndif %} { % e ndfor %} </body> </html>''' ) print ( tmpl . render ( muuttuja = 'Arvo <turvattomilla> tiedoilla' , item_list = [ 1 , 2 , 3 , 4 , 5 , 6 ] ))Tulos HTML:ssä:
< html > < head >< title > Arvoa < vaarallinen > tiedot </ title ></ head > < body > yksi, 2, 3, neljä, 5, 6 </ body > </ html >Web-kehysten ( Flask ) lisäksi Jinja2:ta käytetään myös esimerkiksi konfiguraatiohallintajärjestelmässä SaltStack [3] ja Ansible .