Jinja (malmotor)
Jinja | |||
---|---|---|---|
![]() | |||
Utvikler(e) | Armin Ronacher | ||
Nyeste versjon | 3.1.5 (21. desember 2024)[1] | ||
Kodelager | https://github.com/pallets/jinja | ||
Skrevet i | Python[2] | ||
Type | Malsystem for internett | ||
Lisens | BSD-3[3][4] | ||
Nettsted | palletsprojects.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 argumenter på objekter. 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]
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}}
).[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]- ^ «Release 3.1.5». 21. desember 2024. Besøkt 25. desember 2024.
- ^ «The jinja Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 19. juli 2018.
- ^ https://github.com/pallets/jinja/blob/2.10/LICENSE; besøksdato: 5. desember 2017.
- ^ «The jinja Open Source Project on Open Hub: Licenses Page». Open Hub. Besøkt 19. juli 2018.
- ^ api.github.com, besøkt 31. mai 2020[Hentet fra Wikidata]
- ^ 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