filterはsettingsで指定して、テンプレートのどこからでも使える。macroはテンプレートの中で直接定義するか、定義しているテンプレートをimportして使う。 filterで色々定義してあるもののうち、macroにする方がいいに違いないものを移動して行く。一番シンプルなフィルタ def q2img(q): return '<img src="/q/image/%s.png">' % q.short_key 使われ方。 {{ q|q2img|safe() }}これをマクロに変える。 {% macro to_img(q) -%} <img src="/q/image/{{ q.short_key }}.png">' {%- endmacro %}冒頭でimport {% import "main/macro_for_quiz.html" as macro4q %}で、こう使う。 {