Как явно установить django_language
в Django
сессия?
Большое спасибо...
Если вы хотите, чтобы ваши пользователи могли указывать язык, убедитесь, что LocaleMiddleware
включен:
MIDDLEWARE_CLASSES = (
...
'django.middleware.locale.LocaleMiddleware',
...
)
Тогда Django будет искать языковые предпочтения пользователя в таком порядке (см. get_language_from_request
в trans_real.py):
request. path_info
, if i18n_patterns are used;request.session[settings.LANGUAGE_SESSION_KEY]
;request.COOKIES[settings. LANGUAGE_COOKIE_NAME]
;request.META['HTTP_ACCEPT_LANGUAGE']
, пока не будет найден принятый;settings.LANGUAGE_CODE
. Поэтому самый простой способ явно установить язык в сессии Django - это переписать request.session[settings. LANGUAGE_SESSION_KEY]
:
def someview (request):
...
request.session[settings.LANGUAGE_SESSION_KEY] = 'en'
...