■ はじめに
https://dk521123.hatenablog.com/entry/2018/09/22/142348
で、Pythonのテンプレートエンジンである Jinja を取り扱ったが 今回は、Jinjaの マクロについて扱う。
目次
【1】マクロ機能 【2】構文 1)定義 2)呼び出し 【3】サンプル 例1:Hello world 【4】その他 Tips 1)フィルタ(|)
【1】マクロ機能
* 繰り返し出てくる記述を簡略化することができる機能
【2】構文
1)定義
{% macro 名前 ( 引数 ) -%} ・・・表示内容・・・ {% -endmacro %}
2)呼び出し
{{ マクロ名(実引数リスト) }}
【3】サンプル
例1:Hello world
<ul> <li>Coffee</li> <- 繰り返し部分 <li>Tea</li> <- 繰り返し部分 <li>Milk</li> <- 繰り返し部分 </ul>
マクロ定義
{% macro create_list(value) %} <li>{{ value }}</li> {% endmacro %}
呼び出し
<ul> {{ create_list("Coffee") }} {{ create_list("Tea") }} {{ create_list("Milk") }} </ul>
【4】その他 Tips
* 以下のサイトに詳しく書いてある
https://qiita.com/simonritchie/items/cc2021ac6860e92de25d
1)フィルタ(|)
* 対象変数後に「|(パイプ)」を書き、その後に対象フィルタ名を記述すると Linuxの|(パイプ)みたいに、そのフィルタを適用した後が返る => 以下の例をみた方が理解が早いと思う
例
{% set values = ["Hello", "World"] %} {{ values | join(', ') }} # Hello, World # 詳細は、以下の関連記事を参照のこと
Jinja2 ~ フィルタ ~
https://dk521123.hatenablog.com/entry/2024/10/20/002622
参考文献
https://note.com/toshiyamiyazaki/n/n94d2d3d29fa1
https://blanktar.jp/blog/2014/02/jinja2-macro
https://udon.little-pear.net/jinja2-template-primer/#lwptoc6
https://chayarokurokuro.hatenablog.com/entry/2019/10/27/102306#macro-%E3%83%9E%E3%82%AF%E3%83%AD
関連記事
Jinja2 ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2024/10/19/000848
Jinja2 ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2024/10/18/001757
Jinja2 ~ フィルタ ~
https://dk521123.hatenablog.com/entry/2024/10/20/002622
Jinja2 ~ Whitespace Control ~
https://dk521123.hatenablog.com/entry/2024/10/29/151203
Flask ~ jinja2 ~
https://dk521123.hatenablog.com/entry/2018/09/22/142348
dbt Macro ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/11/29/003751
dbt Macro ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2024/10/22/002940