Jinja
表示
出典: フリー百科事典『ウィキペディア(Wikipedia)』
開発元 | Armin Ronachar |
---|---|
最新版 | |
リポジトリ | ウィキデータを編集 |
プログラミング 言語 | 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>
脚注
[編集 ]- ^ "Releases · pallets/jinja". 2023年12月4日閲覧。
- ^ "Frequently Asked Questions — Jinja Documentation (2.10.x)". jinja.palletsprojects.com. 2020年1月1日閲覧。