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↑
<<MaxOSX10.5.3(Leopard)でTeXをつかう | ホーム | 回帰係数の一様性の検定>>
コメント
デフォルトでありますよ
こちらにありますよ。
http://djangoproject.jp/doc/ja/1.0/ref/contrib/humanize.html
【2012/02/13 16:34】 URL | 派遣たろう #-[ 編集] | page top↑
Re: デフォルトでありますよ
おお、ありがとうございます。Djangoも進化してますねー。
【2012/02/13 17:35】 URL | 辻真吾(つじしんご) #-[ 編集] | page top↑
Re: デフォルトでありますよ
リプライありがとうございます。
なるほど。昔はなかったんですねー。
【2012/02/16 10:25】 URL | 派遣たろう #-[ 編集] | page top↑
コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
→http://tanopy.blog79.fc2.com/tb.php/30-48077a50
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |