Jinja (udtales jinja ) er en skabelonmotor til programmeringssproget Python . Det ligner Django - skabelonmotoren , men giver Python-lignende udtryk, der tillader skabeloner at blive eksekveret i en sandkasse . Det er en tekstskabelonmotor, så den kan bruges til at lave enhver form for markup såvel som kildekode. Licenseret under BSD-licensen .
Jinja-skabelonmotoren giver dig mulighed for at tilpasse tags [1] , filtre, tests og globale variabler [2] . I modsætning til Django-skabelonmotoren tillader Jinja også skabelonkonstruktøren at kalde funktioner med argumenter på objekter.
Jinja kommer ligesom Smarty også med et brugervenligt filtersystem, der ligner Unix-rørledningen .
Et simpelt skabelon eksempel:
fra jinja import fra_streng tmpl = from_string ( ''' \ <html> <head><title>{{ variabel|escape }}</title></head> <body> { % for item in item_list %} {{ item }}{ % hvis ikke loop.last %},{ % e ndif %} { % e ndfor %} </body> </html>''' ) print ( tmpl . render ( variabel = 'Værdi med <usikre> data' , item_list = [ 1 , 2 , 3 , 4 , 5 , 6 ] ))Resultat i HTML:
< html > < head >< title > Værdi med < usikker > data </ title ></ head > < body > en, 2, 3, fire, 5, 6 </ body > </ html >Udover web-frameworks ( Flask ), bruges Jinja2 også for eksempel i konfigurationsstyringssystemet SaltStack [3] og Ansible .