gpt4 book ai didi

python - 在 Django 中使用多语言和 localeurl

转载 作者:太空宇宙 更新时间:2023-11-04 11:04:42 26 4
gpt4 key购买 nike

使用 django-multilingual 和 localeurl。

我的主页 View 的小样本:

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/和“名称”变量获得俄语本地化。现在没问题...

但是……

正在输入 http://www.mysite.com/en/向我显示相同的俄语本地化变量。

在使用调试器进行实验时,我发现:

  • request.LANGUAGE_CODE 正在根据/en/或/ru/url 后缀(thanx to localeurl)正确更改
  • 调用 multilingual.languages.set_default_language() 使“name”变量本地化

问题是:我应该在我自己的每个 View 中将 django-multilingual 的语言更改为 request.LANGUAGE_CODE,还是必须自动解决并且我做错了什么?

最佳答案

我有同样的问题,在 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' 相同。

关于python - 在 Django 中使用多语言和 localeurl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2275966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com