在 django 中使用多语言和 localeurl
使用 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/ 将我重定向到 < a href="http://www.mysite.com/ru/" rel="nofollow noreferrer">http://www.mysite.com/ru/ 和“name”变量获取俄语本地化。现在还可以...
但是...
输入 http://www.mysite.com/en/< /a> 显示相同的俄语本地化变量。
在我使用调试器的实验中,我发现:
- request.LANGUAGE_CODE 根据 /en/ 或 /ru/ url 后缀(比 localeurl)正确更改,
- 调用 multilingual.languages.set_default_language() 使“name”变量更改定位
问题是:我应该在我自己的每个视图中将 django-multilingual 的语言更改为 request.LANGUAGE_CODE ,还是必须自动解决并且我做错了什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我也有同样的问题,在 MIDDLEWARE_CLASSES 中的位置轮换后,我得到了正确的顺序:
我评论 #'django.middleware.locale.LocaleMiddleware' 它的作用与我认为的 'localeurl.middleware.LocaleURLMiddleware' 相同。
I have the same problem, after rotation with positions in MIDDLEWARE_CLASSES I've got the right order:
I comment #'django.middleware.locale.LocaleMiddleware' its doing the same as 'localeurl.middleware.LocaleURLMiddleware' I think.
删除 django.middleware.locale.LocaleMiddleware 后它也对我有用......
after removing django.middleware.locale.LocaleMiddleware it worked for me also ...