我在登录时使用:
在我的Django应用程序中设置语言user_language = user.profile.language
translation.activate(user_language)
request.session['django_language'] = user_language
request.session[translation.LANGUAGE_SESSION_KEY] = user_language
应用程序不会像我希望的那样加载语言。
如果我在我的模板{% get_current_language %}
中使用,我会在模板'en'或'pl'中看到。我按“刷新页面”和语言更改。同样奇怪的是,如果我为一个用户更改语言,它也会影响每个用户。
我的问题是如何手动设置语言,因此它保持不变,仅适用于特定用户。我想在登录后立即设置语言。
答案 0 :(得分:1)
内置的Django中间件允许用户控制自己的语言设置。
来自Django docs (read this link):
如果您想让每个用户指定他们喜欢的语言,那么您还需要使用LocaleMiddleware。 LocaleMiddleware可根据请求中的数据进行语言选择。它为每个用户定制内容。
一旦您确定已完全实施get_current_language()
所需的一切,就可以使用Translation docs。