zipped django-1.0 を使用する方法

3 views
Skip to first unread message

Takashi Matsuo

unread,
Oct 3, 2008, 12:43:24 AM10/3/08
to Google-App-Engine-Japan
松尾です。

今日は gae 上で zip で固めた django-1.0 を使う方法をご紹介します。

まず Django-1.0 を解凍して中に入ります。

$ tar zxvf Django-1.0.tar.gz
$ cd Django-1.0

不必要なディレクトリを削除します。

$ rm -rf django/bin django/conf/locale
$ rm -rf django/contrib/admin
$ rm -rf django/contrib/admindocs
$ rm -rf django/contrib/databrowse
$ rm -rf django/contrib/gis
(gis 全体では無く、django/contrib/gis/tests だけ消せば良いかも...)

GAE でも django の国際化フレームワークを使うため添付のパッチを当てます。

$ cd django
$ patch -p1 <../django-for-gae.diff

zip で固めてできあがり。

$ cd ..
$ zip -q django.zip `find django -name .svn -prune -o -type f ! -name
'*.pyc' ! -name '*.[pm]o' -print`
$ du -sk django.zip
664 django.zip

そうしたら zipped django に対応した django-helper を持って来ます。
(メールを書いている 2008/10/03 時点では rev64です)

$ mkdir -p ~/work
$ cd ~/work
$ svn export http://google-app-engine-django.googlecode.com/svn/trunk/
google-app-engine-django
$ cp -ar google-app-engine-django yourproject

最後に出来た django.zip をプロジェクトのトップディレクトリに置きます。

$ cp /some/where/django.zip yourproject

Google App Engine SDK へのリンクを作ります。

$ cd yourproject
$ ln -s /some/where/google_appengine ./.google_appengine

これで国際化に対応した django-1.0 + django-helper な環境ができました。

例えば下記のように makemessage や compilemessage も出来るはずです。

$ python manage.py makemessages -l ja
$ python manage.py compilemessages

ご興味がある方は試してみてください。


ただし、完全な国際化にはまだ障害があります。djangoforms を使用した時に
model で指定した verbose_name が ugettext_lazy でマークされていたとして
も早期に translate されてしまう不具合があります。

私の方でこの件を issue 登録してあります。完全な国際化を目指すためにこの
issue に star を付けてくださると嬉しいです。

http://code.google.com/p/googleappengine/issues/detail?id=583

Happy coding :-)

-- Takashi Matsuo

django-for-gae.diff
Reply all
Reply to author
Forward
0 new messages