Jinja (engine šablony) - Jinja (template engine)
tento článek se mohou příliš spoléhat na zdroje příliš úzce souvisí s tématem, což potenciálně brání tomu, aby článek byl ověřitelný a neutrální.Leden 2020) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Původní autoři | Armin Ronacher |
---|---|
První vydání | 17. července 2008[1] |
Stabilní uvolnění | 2.11.2 / 13. dubna 2020[1] |
Úložiště | |
Napsáno | Krajta |
Typ | Šablona motoru |
Licence | Licence BSD |
webová stránka | paletové projekty |
Jinja je webový šablonový modul pro Programovací jazyk Python. Vytvořil Armin Ronacher a má licenci pod Licence BSD. Jinja je podobný Django stroj šablony, ale poskytuje výrazy podobné Pythonu a zároveň zajišťuje, že šablony jsou vyhodnoceny v pískoviště. Je to textový jazyk šablony a lze jej tedy použít ke generování jakýchkoli značek i zdrojových kódů.
Engine šablony Jinja umožňuje přizpůsobení značek,[2] filtry, testy a globály.[3] Na rozdíl od šablonového modulu Django umožňuje Jinja návrháři šablon volat funkce s argumenty na objektech Baňka výchozí modul šablony [4] a také to používá Možné [5] a Trac.
Funkce
Některé z rysů Jinja jsou:[6]
- sandboxed provedení
- automatický Unikající HTML aby se zabránilo skriptování mezi weby (XSS) útoky
- dědičnost šablony
- kompiluje až na optimální kód Pythonu just-in-time
- volitelná kompilace šablony předem
- snadné ladění (například čísla řádků výjimek přímo ukazují na správný řádek v šabloně)
- konfigurovatelná syntaxe
Jinja, jako Chytrý, dodává se také se snadno použitelným filtračním systémem podobným systému Unix potrubí.
Příklad
Zde je malý příklad souboru šablony example.html.jinja
:[7]
<!DOCTYPE html><html> <hlava> <titul>{{ proměnná|uniknout }}</titul> </hlava> <tělo> {%- pro položka v item_list %} {{ položka }}{% -li ne smyčka.poslední %},{% endif %} {%- konec %} </tělo></html>
a šablonový kód:
z jinja2 import Šablonas otevřeno('example.html.jinja') tak jako F: tmpl = Šablona(F.číst())tisk(tmpl.poskytnout( proměnná = „Hodnota s daty“ , item_list = [1, 2, 3, 4, 5, 6]))
Tím se vytvoří řetězec HTML:
<!DOCTYPE html><html> <hlava> <titul>Hodnota s & lt;nebezpečný& gt; data</titul> </hlava> <tělo> 1, 2, 3, 4, 5, 6 </tělo></html>
Zdroje
- ^ A b "Historie vydání Jinja2". Citováno 24. června 2020.
- ^ „Rozšíření“. Dokumentace Jinja2 (2,8 dev). Citováno 2015-05-26.
- ^ „Rozšíření“. Dokumentace Jinja2 (2,8 dev). Citováno 2015-05-26.
- ^ DuPlain, R. (2013). Okamžitý vývoj baňky na webu. Packt Publishing. p. 30. ISBN 978-1-78216-963-5. Citováno 2015-05-26.
- ^ https://docs.ansible.com/ansible/latest/user_guide/playbooks_templating.html
- ^ "Vítejte | Jinja2 (Python Template Engine)". palletsprojects.com/p/jinja.
- ^ Ronacher, Armin. „Dokumentace návrháře šablon“. Dokumentace Jinja2. Citováno 7. ledna 2016.
Šablona Jinja nemusí mít konkrétní příponu: .html, .xml nebo jakákoli jiná přípona je v pořádku.