プログラマとプロマネのあいだ

プログラマもやるし、プロマネもやるし、たまに似非アーキとか営業っぽいこともやる

Google App Engineでdjango.contrib.humanizeを使う

結局、http://code.google.com/appengine/articles/django.htmlをみたらなんとなく分かった。
なんとかする力ちょい向上。


どうするかというと、以下の3ステップで対応します。


(1)helloworld.py(人によって色々)のimport宣言の並びに以下の記述を追加。

# Force Django to reload its settings.
from django.conf import settings
settings._target = None

# Must set this env var before importing any part of Django
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

(2)同じフォルダにsettings.pyを作る

INSTALLED_APPS = (
    'django.contrib.humanize',
)

(3)テンプレートhtmlの先頭に、以下の記述を追加。

{% load humanize %}

そうすると、テンプレートhtmlの中で

{{ numeric_data|intcomma }}

とかやって、3桁ごとにカンマを付けて整形するとか、その他もろもろなことができるようになります。
ちなみに、floatでデータを持っている場合は、

{{ numeric_data|floatformat|intcomma }}

とかやると、小数点以下も調整してくれて便利かも。Djangoのフィルタいいですね!


Google App Engineを使わないDjangoの解説記事で、
(2)と(3)をやればいいみたいなのが多かったのですが、
Google App Engine内では、(1)をやらないとダメなようです。