IT用語集 › プログラミング › Jinja

Jinja

プログラミング Svenska → 更新: 2026-10-21

Python で最も使われているテンプレートエンジン。Flask の作者でもあるアルミン・ローナッハーが2008年に作った。出力は {{ variable }}、ロジックは {% for %} で書く。

Python のあるところにはたいてい Jinja がある。Flask、Ansible の playbook、Salt の state、dbt のモデル、Home Assistant、Airflow などだ。継承({% extends %}、{% block %})、フィルタ({{ name|upper }})、マクロ、HTML の自動エスケープに対応する。テンプレートを Python ランタイムから隔離するサンドボックスで動くが、{{ ''.__class__.__mro__ }} のような SSTI(サーバーサイドテンプレートインジェクション)は、CTF の定番問題であると同時に、ユーザー入力がコンテキストではなくテンプレートのソースに入った瞬間に現実の脆弱性になる。

← 用語集に戻る