Jinja (malmotor)
Jinja er en malmotor for programmeringsspråket Python. Den ligner på malmotoren Django, men har Python-lignende uttrykk og sikrer at malene evalueres i en sandkasse. Det er et tekstbasert malspråk, og kan derfor brukes til å generere enhver type oppmerking samt kildekode, og er godt egnet for tekstbasert versjonskontroll.
Jinja-malmotoren gjør det mulig å tilpasse tagger, filtre (for å formatere eller transfomere verdier[1]), tester (for å evaluere tilstander[1]) og globale variabler.[2][3] I motsetning til Django tillater Jinja å kalle funksjoner med argumenter på objekter. Jinja er standard malmotor for webrammeverket Flask, og brukes også av Ansible, Trac og Salt.[4][5][6] Jinja brukes også til å lage SQL-makroer, for eksempel for bruk med dbt.[7]
Syntaks[rediger | rediger kilde]
Syntaksen for å lage et filter i Jinja er en vertikal strek (|
), for eksempel {{
variable|filter}}
. Et variabel kan ha flere filtre, for eksempel {{
variable|filter|filter}}
).[1]
Syntaksen for å lage en test i Jinja er nøkkelordet is
samt betingelsene for å evaluere validiteten til en test, som for eksempel {% if variable is divisibleby 10 %}do something{% endif %}
).[1]
Referanser[rediger | rediger kilde]
- ^ a b c d «Jinja built-in filters and tests (like Django filters)». www.webforefront.com. Besøkt 14. august 2023.
- ^ «Extensions». Besøkt 26. mai 2015.
- ^ «Extensions». Besøkt 26. mai 2015.
- ^ DuPlain, R. Instant Flask Web Development. Packt Publishing. s. 30. ISBN 978-1-78216-963-5. Besøkt 26. mai 2015.
- ^ «Templating (Jinja2) — Ansible Documentation».
- ^ «Understanding Jinja».
- ^ Jinja and macros | dbt Developer Hub