Jinja (malmotor)

Fra Wikipedia, den frie encyklopedi

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 argumenterobjekter. 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]

  1. ^ a b c d «Jinja built-in filters and tests (like Django filters)». www.webforefront.com. Besøkt 14. august 2023. 
  2. ^ «Extensions». Besøkt 26. mai 2015. 
  3. ^ «Extensions». Besøkt 26. mai 2015. 
  4. ^ DuPlain, R. Instant Flask Web Development. Packt Publishing. s. 30. ISBN 978-1-78216-963-5. Besøkt 26. mai 2015. 
  5. ^ «Templating (Jinja2) — Ansible Documentation». 
  6. ^ «Understanding Jinja». 
  7. ^ Jinja and macros | dbt Developer Hub