備忘録

【Jinja2】PythonのテンプレートエンジンJinja2を使う

前提

Python: 3.12
Jinja2: 3.1.3

Install

pip install Jinja2

Sample

from jinja2 import Environment, FileSystemLoader

loader = FileSystemLoader(template_dir, encoding='utf-8')
env = Environment(Loader=loader, autoescape=False)

tpl = env.get_template(template_name)
params = {
  'title': 'Example Page Title'
}
with open(path, mode='w', encoding='utf-8') as f:
  f.write(tpl.render(params))

変数

テンプレート内での使用

<h1>{{ title }}</h1>

for文の中で使用できる変数

for文の中で使用できる以下の変数が用意されている。

loop.index
loop.index0
loop.revindex
loop.revindex0
loop.first
loop.last
loop.length
loop.cycle
loop.depth
loop.depth0
loop.previtem
loop.nextitem
loop.changed(*val)

Whitespace Control

trim_blockslstrip_blocks を有効にしたり、ブロックの前後に +- を付けることで、空白の削除を制御できる
詳細は以下のドキュメント参照

関連記事

  • 【Python】Pythonの開発環境構築
    前提 Windows インストール 以下のサイトからインストーラーをダウンロードしてインストールするか、scoopを使用してインストールする。 https://www.python.org/downloads/windows/ scoop install python IDE(