【Python】Jinja ~ Macro ~

■ はじめに

https://dk521123.hatenablog.com/entry/2018/09/22/142348

で、Pythonのテンプレートエンジンである Jinja を取り扱ったが
今回は、Jinjaの マクロについて扱う。

【1】マクロ機能

* 繰り返し出てくる記述を簡略化することができる機能

【2】構文

1)定義

{% macro 名前 ( 引数 ) -%}
  ・・・表示内容・・・
{% -endmacro %}

2)呼び出し

{{ マクロ名(実引数リスト) }}

【3】例

<ul>
  <li>Coffee</li> <- 繰り返し部分
  <li>Tea</li>      <- 繰り返し部分
  <li>Milk</li>    <- 繰り返し部分
</ul>

1)マクロ定義

{% macro create_list(value) %}
  <li>{{ value }}</li>
{% endmacro %}

2)呼び出し

{{ create_list("Coffee") }}
{{ create_list("Tea") }}
{{ create_list("Milk") }}

参考文献

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

関連記事

Flask ~ jinja2 ~
https://dk521123.hatenablog.com/entry/2018/09/22/142348
dbt ~ Macro ~
https://dk521123.hatenablog.com/entry/2023/11/29/003751