Django + jinja2 + mptt

當初毅然決然的把 template 換成 jinja2, 其實真的是 over-optimized 了。不過既然都已經換了, 就換了, 代價就是 3rd-party package 有使用到 template tags 的, 要自己重寫!

最近在重新整修後臺系統, 索性也把 template 換成 jinja2, 不過這時麻煩了, 我們使用 django-mptt 來做 tree structure, 在 template 這邊有使用到 mptt 自己的 tags。有時候自己真的很衝動, 昨天就開始看 code, hack, 想要自己把它 port 成 jinja2 的版本。碰到重重的困難後, 突然發現 jinja2 自己就有 recursive 可以使用。而且也弄成了。

我真的是太衝動了。不過還好, 更了解 jinja2 的 extension 怎麼寫的, 也可以準備來 rework 之前寫的 pipeline tags for jinja2。