Jinja (pronunțat jinja ) este un motor de șabloane pentru limbajul de programare Python . Este similar cu motorul de șabloane Django , dar oferă expresii asemănătoare Python, permițând executarea șabloanelor într-un sandbox . Este un motor de șabloane de text, deci poate fi folosit pentru a crea orice fel de marcare, precum și cod sursă. Licențiat sub licența BSD .
Motorul de șablon Jinja vă permite să personalizați etichetele [1] , filtrele, testele și variabilele globale [2] . De asemenea, spre deosebire de motorul de șabloane Django, Jinja permite constructorului de șabloane să apeleze funcții cu argumente pe obiecte.
Jinja, la fel ca Smarty , vine și cu un sistem de filtrare ușor de utilizat, similar conductei Unix .
Un exemplu simplu de șablon:
din jinja import from_string tmpl = from_string ( ''' \ <html> <head><title>{{ variabilă|escape }}</title></head> <body> { % for item in item_list %} {{ item }}{ % dacă nu loop.last %},{ % e ndif %} { % e ndfor %} </body> </html>''' ) print ( tmpl . render ( variabilă = 'Valoare cu date <nesigure>' , item_list = [ 1 , 2 , 3 , 4 , 5 , 6 ] ))Rezultat în HTML:
< html > < head >< title > Valoare cu < nesigur > date </ title ></ head > < body > unu, 2, 3, patru, 5, 6 </ body > </ html >Pe lângă cadrele web ( Flask ), Jinja2 este folosit și, de exemplu, în sistemul de management al configurației SaltStack [3] și Ansible .