不動産屋のラノベ読み

不動産売買営業だけどガチガチの賃貸派の人のブログ

Google App Engineでdjango.contrib.humanizeをやっぱり使う

 
 GAEでテンプレートを使う時にカンマを打たせたくて、intcommaフィルタを使ってみたんですが、使えず。
 

結局、http://code.google.com/appengine/articles/django.htmlをみたらなんとなく分かった。
なんとかする力ちょい向上。
どうするかというと、以下の3ステップで対応します。

Google App Engineでdjango.contrib.humanizeを使う - プログラマとSEのあいだ

↑このエントリを見て、お、と思ったけど、

http://d.hatena.ne.jp/taka_2/20081102#p1
で書いたやり方だと、
EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is undefined.
みたいなエラーが出てしまうので、humanizeモジュールを使うのをやめました。

Google App Engineでdjango.contrib.humanizeを使うはイマイチでした。 - プログラマとSEのあいだ

↑とのこと。残念。
 
 でも、ヒントになったので適当にいじってみました。

(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

 このやり方はダメらしい。

実行時に設定を変更する
実行時に設定を変更してはなりません。たとえば、ビューの中で以下のような操作 を行ってはなりません:
from django.conf import settings settings.DEBUG = True # やってはダメ!
設定を書いてよいのは設定ファイルの中だけです。

http://michilu.com/django/doc-ja/settings/

 ということで、素直にdjango_exampleを使った方が無難らしいです。

*1:あとで理解する

*2:あとで理解する