【第5回】 2022年6月9日
テンプレートにおけるプログラミング
変数とフィルター
if
と for
その他のテンプレートタグ
oTree 3 との違い
oTree 3 はDjangoがベースであったため,Djangoの組み込みフィルターが使えたが, oTree 5 では,Djangoの組み込みフィルターが(ほとんど)使えなくなった.oTree 3 から oTree 5 へ移行するときは注意.多用されていたと思われるフィルターは以下:
floatformat:0
: 整数への(銀行家の)丸め. oTree 5 ではto0
に変更されたが,切り下げとなることに注意.add
: テンプレートで変数の足し算ができた(たとえば{{ x|add:"1" }}
とすれば xに1を足した数値が表示されていた).date
: 変数がdatetime
オブジェクトであれば,日付が人間が読める書式に変換されて表示されていた.
テンプレートタグのデリミタが
{% %}
から{{ }}
に変更され,テンプレートタグと変数の記述方法が縮退してしまった.- oTree 5 でも互換性のために
{% %}
は使える.ただし,{%
と{{
,%}
と}}
をそれぞれ区別しないという実装のようなので,"
と'
の関係のようにネストさせて使えるというわけではない.
- oTree 5 でも互換性のために