使用django-multilingual和localeurl。
我的主页面视图的小样本:
def main(request): #View for http://www.mysite.com/
name = Dog.objects.all()[0].full_name #this is a translated field
return render_to_response("home.html", {"name" : name})
输入http://www.mysite.com/会将我重定向到http://www.mysite.com/ru/,并且“name”变量会获得俄语本地化。现在好了......
但是...
输入http://www.mysite.com/en/向我显示相同的俄语loclized变量。
在我对debuger的实验中,我发现:
问题是:我是否应该将django-multilingual的语言改为request.LANGUAGE_CODE在我自己的每个视图中,或者它必须自动解决并且我做错了什么?
答案 0 :(得分:3)
我有同样的问题,在MIDDLEWARE_CLASSES中的职位轮换后我得到了正确的顺序:
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
#'django.middleware.locale.LocaleMiddleware',
'localeurl.middleware.LocaleURLMiddleware',
'multilingual.middleware.DefaultLanguageMiddleware',
'multilingual.flatpages.middleware.FlatpageFallbackMiddleware',
'django.middleware.common.CommonMiddleware',
)
我评论#'django.middleware.locale.LocaleMiddleware'它的做法与'localeurl.middleware.LocaleURLMiddleware'相同。我想。
答案 1 :(得分:1)
删除django.middleware.locale.LocaleMiddleware后,它也适用于我...