Выход из Django меняет язык на язык по умолчанию
Я работаю над переводом с арабского на английский с использованием "Модельного перевода". После того, как я войду в систему и перейду на арабский, а затем выйду из системы, язык изменится на английский.
Это мой код выхода из системы: я активировал язык после выхода из системы, и он печатает язык как 'ar', но отображает английский. Пожалуйста, помогите мне
def profile_logout(request,mode=None, **kwars):
lang = request.LANGUAGE_CODE
response = logout(request, **kwars)
translation.activate(lang)
print "langggggggggggggggggggggggggggggggggg",request.LANGUAGE_CODE
return response
2 ответа
Решение
Я внес некоторые изменения в свои представления, создав сеанс. Надеюсь, что кто-то найдет применение с этим. Это сработало для меня.
def profile_logout(request,mode=None, **kwars):
lang = request.LANGUAGE_CODE
translation.activate(lang)
language=request.session.get('django_language')
print "languageeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",language
response = logout(request, **kwars)
if language is not None:
request.session['django_language'] = language
print
"request.session['django_language']request.session['django_language']request.session['django_language']",request.session['django_language']
return response
Или обратитесь:
`` https://github.com/ludwiktrammer/django/commit/adfb2c114f94df4a77a9424001e300f0552c6e20
Вы должны активировать перевод перед обработкой шаблона, например, перед вызовом logout
, что-то вроде:
def profile_logout(request,mode=None, **kwars):
lang = request.LANGUAGE_CODE
translation.activate(lang)
response = logout(request, **kwars)
print "langggggggggggggggggggggggggggggggggg",request.LANGUAGE_CODE
return response