前回に引き続き国際化についてです。
前の記事で書いていた「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 |
を読み込むということです。
また、エラーが出るようでしたら追記したいと思います。これで、最後であってほしい。。。(直接的な原因を調べろよ。。。)