カスタムタグ的ななにか
JavaプログラマなんでTaglibみたいなのが欲しい。
そういう質問をしたら、Webhelper使うか、Jinja2にはFilterが実装されているよ、との事。
ほほうFilterとな。初めて聞いた。
自分はmako党なんで、makoにもFilterなるものが無いか探してみた。
参考:
http://docs.makotemplates.org/en/latest/filtering.html
test.html(mako実装)
<%! import myfilters as fil %> ${honbun | fil.auto_link, n}
myfilters.py
def auto_link(text): '''HTTP等のURLがあったらリンクにする''' return re.sub('(https?|ftp|news)(://[0-9a-zA-z\+\$\;\?\.%,!#~*/:@&=_-]+)', '<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>', text)
これで自動的にURLにAタグをかぶせてくれる。
引数は必ず"text"一つのみ。
ただし、中身は何でも良いみたいなので
test2.html
${(honbun1,honbun2) | fil.get_tuple, n}
def get_tuple(text): name1, name2 = text return name2 + name1
nをつけないとシングルクオートをエスケープしちゃうんで必須かな。