読者です 読者をやめる 読者になる 読者になる

へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

Djangoのi18nで、localeが勝手に変わってしまったと思ったらそんなことなかった話

Django Python

こまってたこと

activate('ja')したあと、ふんふんふーんというノリで翻訳対応してたら、いつのまにか翻訳が効かなくなった。
こわくなったのでget_language()デバッグにさしこんで事なきを得た。

下を見れば、なんだあたりまえのことじゃないかというかんじなのだが、
そんなの知らないから詰んでた。

python manage.py shell
Python 3.4.2 (default, Jan 29 2015, 06:35:40)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.utils.translation import activate, get_language
>>> from django.test.client import Client
>>> client = Client()
>>> activate('ja')
>>> get_language()
'ja'
>>> client.get('ここにurlが入るよ!(・ω・`)')
Not Found: /ここにurlが入るよ!(・ω・`)
Not Found: /ここにurlが入るよ!(・ω・`)
<django.http.response.HttpResponseNotFound object at 0x10f7b6780>
>>> get_language()
'en'