Jinja

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 23. listopadu 2021; kontroly vyžadují 2 úpravy .

Jinja (vyslovováno jinja ) je šablonovací engine pro programovací jazyk Python . Podobá se šablonovacímu enginu Django , ale poskytuje výrazy podobné Pythonu, což umožňuje spouštění šablon v karanténě . Jedná se o nástroj pro vytváření textových šablon, takže jej lze použít k vytvoření jakéhokoli druhu označení i zdrojového kódu. Licencováno pod licencí BSD .

Šablonový engine Jinja umožňuje přizpůsobit tagy [1] , filtry, testy a globální proměnné [2] . Na rozdíl od enginu šablon Django také Jinja umožňuje konstruktoru šablon volat funkce s argumenty na objektech.

Jinja, stejně jako Smarty , také přichází se snadno použitelným filtračním systémem podobným unixovému potrubí .

Příklad

Jednoduchý příklad šablony:

z jinja import from_string tmpl = from_string ( ''' \ <html> <head><title>{{ variable|escape }}</title></head> <body> { % pro položku v item_list %} {{ item }}{ % i f not loop.last %},{ % e ndif %} { % e ndfor %} </body> </html>''' ) print ( tmpl . render ( variable = 'Hodnota s <nebezpečnými> údaji' , item_list = [ 1 , 2 , 3 , 4 , 5 , 6 ] ))

Výsledek v HTML:

< html > < head >< title > Hodnota s < nebezpečné > data </ ​​title ></ head > < body > jeden, 2, 3, čtyři, 5, 6 </ body > </ html >

Aplikace

Jinja2 se kromě webových frameworků ( Flask ) používá také například v konfiguračním systému pro správu SaltStack [3] a Ansible .

Poznámky

  1. Rozšíření – dokumentace Jinja2 2.7-dev (downlink) . Získáno 27. ledna 2012. Archivováno z originálu 30. září 2010. 
  2. Rozšíření – dokumentace Jinja2 2.7-dev (downlink) . Získáno 27. ledna 2012. Archivováno z originálu 30. září 2010. 
  3. Colton Myers. Kapitola 5. Rozšíření našich států pomocí Jinja2 a Pillar // Učení SaltStack. - Packt Publishing, 2015. - 174 s. - ISBN 978-1-78439-901-6 .

Literatura

  • Cunningham, K. Python za 24 hodin, Sams Teach Yourself. - Pearson Education, 2013. - 320 s. — ISBN 9780133354461 .

Odkazy