[GAE/P]国際化に対応してみました 〜その3〜


前回に引き続き国際化についてです。

前の記事で書いていた「Environment variable DJANGO_SETTINGS_MODULE is undefined.」のエラーについてですが、あの記事を書いた後も何度か発生しており、今日、GAE上にアップしたアプリを動かしていると、一時ページを表示した状態で放置し、改めて操作するとAjax部分の通信で上記のエラーが出ていました。

それで、色々調べているとimportの順番が問題だったようで、試してみるとエラーが出なくなりました。その修正内容を書いておきたいと思います。

■編集前

1
2
3
4
5
6
7
8
9
from django.utils import translation
from google.appengine.ext import webapp
from org.fukata.mapshare.system.utils.cookies import Cookies
import os
from django.conf import settings
 
os.environ.__setitem__('DJANGO_SETTINGS_MODULE', 'conf.settings')
# Force Django to reload settings
settings._target = None

■編集後

1
2
3
4
5
6
7
8
9
10
import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from django.utils import translation
from org.fukata.mapshare.system.utils.cookies import Cookies
from django.conf import settings
 
os.environ.__setitem__('DJANGO_SETTINGS_MODULE', 'conf.settings')
# Force Django to reload settings
settings._target = None

全体的に順序も入れ替わってしまっているので分かりにくいと思いますが、

from django.utils import translation

の前に

from google.appengine.ext import webapp
from google.appengine.ext.webapp import template

を読み込むということです。

また、エラーが出るようでしたら追記したいと思います。これで、最後であってほしい。。。(直接的な原因を調べろよ。。。)

関連記事