GAEでテンプレートを使う時にカンマを打たせたくて、intcommaフィルタを使ってみたんですが、使えず。
結局、http://code.google.com/appengine/articles/django.htmlをみたらなんとなく分かった。
Google App Engineでdjango.contrib.humanizeを使う - プログラマとSEのあいだ
なんとかする力ちょい向上。
どうするかというと、以下の3ステップで対応します。
↑このエントリを見て、お、と思ったけど、
http://d.hatena.ne.jp/taka_2/20081102#p1
Google App Engineでdjango.contrib.humanizeを使うはイマイチでした。 - プログラマとSEのあいだ
で書いたやり方だと、
EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is undefined.
みたいなエラーが出てしまうので、humanizeモジュールを使うのをやめました。
↑とのこと。残念。
でも、ヒントになったので適当にいじってみました。
(1)helloworld.py(人によって色々)のimport宣言の並びに以下の記述を追加。
2008-11-02 - プログラマとSEのあいだ
↑の部分を、
from django.conf import settings settings.INSTALLED_APPS = ( 'django.contrib.humanize', )
としたら動きました。(2)は必要ありません。
python初心者の私には最後のカンマの意味が良く分からないけど、これを削除するとエラーになるし、ローカルDjangoを使うサンプルコードでも同じだったので、呪文だと思って付けておきます。*1
あと、INSTALLED_APPSには何も入ってなかったので代入していますが、googleさんの方で変更があるとひどい目に遭うと思うので、追加するような書き方をすべきなんでしょうね。"="を"+="にすれば済む話のような気がしますが、よく分からないです。*2よく分からないままエントリを書くなっつー話もありますが、不動産屋の書くスクリプトなんてみんな疑って読むでしょうからまあいいかな、と。自己責任で!
まあ、実際のところローカルDjangoを使えって話ですよね、バージョンも上がってるし。
追記20090318
このやり方はダメらしい。
実行時に設定を変更する
http://michilu.com/django/doc-ja/settings/
実行時に設定を変更してはなりません。たとえば、ビューの中で以下のような操作 を行ってはなりません:
from django.conf import settings settings.DEBUG = True # やってはダメ!
設定を書いてよいのは設定ファイルの中だけです。
ということで、素直にdjango_exampleを使った方が無難らしいです。