Jinja
開発元 | Armin Ronachar |
---|---|
最新版 | 3.1.2 / 2022年4月29日 (2年前) (2022-04-29)[1] |
リポジトリ |
|
プログラミング 言語 | Python |
対応OS | クロスプラットフォーム |
種別 | テンプレートエンジン |
ライセンス | BSDライセンス |
公式サイト | https://jinja.palletsprojects.com/ |
テンプレートを表示 |
Jinjaは、プログラミング言語Python用のテンプレートエンジンである。Djangoのテンプレートエンジンに似ているが、Pythonライクな式が使えるようになっている(テンプレートはサンドボックス内で評価されることが保証されている)。テキストベースのテンプレートエンジンであるため、HTMLやXMLだけでなく、どのようなマークアップの文書でも(例えばソースコードなども)生成できる。Jinjaは、BSDライセンスの下で公開されている。
機能
Unixのパイプのような簡単な記法でデータを加工できるフィルタシステムを搭載している。
Jinjaでは、タグ・フィルタ・テスト・グローバルと呼ばれる機能をカスタマイズできる。また、Djangoのテンプレートエンジンとは違い、テンプレートからオブジェクトのメソッドを引数付きで呼び出せるようになっている。
名前の由来
Templateとtempleの発音が似ているので、templeからの連想でJinja(神社)と命名された[2]。
コード例
単純な使用例を以下に示す。
from jinja2 import Template template = Template('''\ <html> <head><title>{{ variable }}</title></head> <body> <ul> {% for item in item_list %} <li>{{ item }}</li> {% endfor %} </ul> </body> </html>''') rendered_text = template.render( variable='Value with <unsafe> data', item_list=[1, 2, 3, 4, 5, 6] ) print(rendered_text)
このコードは次のようなHTML文字列を出力する。
<html> <head><title>Value with <unsafe> data</title></head> <body> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul> </body> </html>
脚注
外部リンク
- 公式ウェブサイト