Hopp til innhold

Jinja (malmotor)

Fra Wikipedia, den frie encyklopedi
Jinja
Utvikler(e)Armin Ronacher
Nyeste versjon3.1.4 (5. mai 2024)[1]
Kodelagerhttps://github.com/pallets/jinja
Skrevet iPython[2]
TypeMalsystem for internett
LisensBSD-3[3][4]
Nettstedpalletsprojects.com[5]

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[6]), tester (for å evaluere tilstander[6]) og globale variabler.[7][8] 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.[9][10][11] Jinja brukes også til å lage SQL-makroer, for eksempel for bruk med dbt.[12]

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}}).[6]

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 %}).[6]

Referanser

[rediger | rediger kilde]
  1. ^ «Release 3.1.4». 5. mai 2024. Besøkt 23. mai 2024. 
  2. ^ «The jinja Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 19. juli 2018. 
  3. ^ https://github.com/pallets/jinja/blob/2.10/LICENSE; besøksdato: 5. desember 2017.
  4. ^ «The jinja Open Source Project on Open Hub: Licenses Page». Open Hub. Besøkt 19. juli 2018. 
  5. ^ api.github.com, besøkt 31. mai 2020[Hentet fra Wikidata]
  6. ^ a b c d «Jinja built-in filters and tests (like Django filters)». www.webforefront.com. Besøkt 14. august 2023. 
  7. ^ «Extensions». Besøkt 26. mai 2015. 
  8. ^ «Extensions». Besøkt 26. mai 2015. 
  9. ^ DuPlain, R. Instant Flask Web Development. Packt Publishing. s. 30. ISBN 978-1-78216-963-5. Besøkt 26. mai 2015. 
  10. ^ «Templating (Jinja2) — Ansible Documentation». 
  11. ^ «Understanding Jinja». 
  12. ^ Jinja and macros | dbt Developer Hub