• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

python jinja2

date: 2023-08-05 excerpt: pythonのjinja2の使い方

tag: pythonjinja2template


pythonのjinja2の使い方

概要

  • pythonで利用できるtemplate
  • HTMLを生成する際にも使えるが、SQLなどもテンプレート化できる
  • 単なる変数の代入だけでなく、ループや制御構文も使える

基本的な使い方

プレースホルダーに代入する

from jinja2 import Template

template = Template("""
SELECT
    id,
    user_id
FROM
    
""")

sandbox_config = {"user_table": "sandbox.user_table"}

print(template.render(**sandbox_config))
"""
SELECT
    id,
    user_id
FROM
    sandbox.user_table
"""

ループを使用する

  • タグの前後に-をつけると空白と改行が削除されるホワイトスペース制御機能を用いる
from jinja2 import Template

template = Template("""
SELECT
    
FROM
    ;
""")

columns = ["id", "name", "age"]
table_name = "users"

print(template.render(columns=columns, table_name=table_name))
"""
SELECT
    id, name, age
FROM
    users;
"""

参考

  • Jinja — Jinja Documentation (3.1.x)


pythonjinja2template Share Tweet