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;
"""