从Django的会话中获取语言代码

时间:2015-01-13 20:20:54

标签: django django-views django-middleware

我使用i18n_patterns 我应该怎么做才http://localhost:8000没有重定向到前缀为语言代码的网址? 另外,我想提供从会话中获取的语言,而不是request.LANGUAGE_CODE

我找到了以下代码:

class NoPrefixLocaleRegexURLResolver(LocaleRegexURLResolver):

@property
def regex(self):
    language_code = get_language()
    if language_code not in self._regex_dict:
        regex_compiled = (re.compile('' % language_code, re.UNICODE)
                          if language_code == settings.LANGUAGE_CODE
                          else re.compile('^%s/' % language_code, re.UNICODE))

        self._regex_dict[language_code] = regex_compiled
    return self._regex_dict[language_code]

但是,检查language_code == settings.LANGUAGE_CODE是否存在代码问题。如果我输入http://localchost:8000,则不会重定向,而是提供包含settings.LANGUAGE_CODE而非request.session.get('django_language')翻译的网页。据我所知,我无法访问请求,所以应该做什么?

0 个答案:

没有答案