Выход из 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
Другие вопросы по тегам