在Google appengine上使用django international

昨天使用zipimport方式引入django.zip,但是遇到了international无效的问题。早上在Google group上反映了这个问题,没想到下午就有好心人回答了我的问题。具体的解决办法是把django.zip/conf/locale目录解压出来,比如放到和settings.py同一个目录下的i18n中,然后在settings.py添加如下代码:

appdir = os.path.abspath(os.path.dirname(__file__))
LOCALE_PATHS = (
    os.path.join(appdir, 'i18n', 'locale'),
)

 如果想使用django.middleware.locale.LocaleMiddleware的话需要在main.py里添加如下代码:

from django.conf import settings
sys.modules[settings.__module__].__file__ = os.path.join(
  os.path.dirname(settings.LOCALE_PATHS[0]), '__init__.py'
)

 接下来在settings.py引入LocaleMiddleware:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.doc.XViewMiddleware',
)

  这样一来就不用强制把LANGUAGE_CODE设成zh_CN了,它会根据浏览器的请求来选择对应的语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值