fc2ブログ
Djangoのtemplateエンジンを変更する
Djangoには、(私にとっては)使いやすいテンプレートエンジンが付属しています。文字列や数字の整形もそこそこできて、たとえば小数点以下の桁数を丸めるのには、
{{value|floatformat}}
とすれば、OKです。もちろん、桁数の調節も出来ます。詳細は、このあたりを参照してください。
大きな数字になったとき、整数部分に3桁ごとのカンマ(,)を入れてくれるといいなーと思ったのですが、デフォルトではそのようなフィルタが用意されていませんでした。
仕方がないので、テンプレートエンジンをすこし改造です。別に難しいことはなく、ここにも詳細な解説があります。

Pythonインストールディレクトリ/lib/site-packages/django/template/defaultfilters.py
に新しい関数として定義すれば良いだけです。たとえば、moneyformatなどとしましょう。
追加したフィルタを、同じファイルの最後の方で、
register.filter(moneyformat)
と、登録するのを忘れずに。
3桁ごとにカンマを入れるコードは、もちろん自分で書いてもいいですが、大変参考になるレシピがあります。
やはり、オープンソースってすばらしいですね。
スポンサーサイト



テーマ:プログラミング - ジャンル:コンピュータ

【2008/10/13 00:54】 | Python | トラックバック(0) | コメント(3) | page top↑
| ホーム |