Сохранение языкового предпочтения в базе данных - это издержки, которых вы можете избежать, используя инструменты, которые предлагает Django.
django.utils.translation.get_language
, возвращает язык, используемый в текущем потоке.
Как задокументировано в Django , это пример:
from django.utils import translation
def welcome_translated(language):
cur_language = translation.get_language()
try:
translation.activate(language)
text = translation.gettext('welcome')
finally:
translation.activate(cur_language)
return text
Вы также можете использовать django.utils.translation.get_language_from_request
для анализа запроса, чтобы найти, чтоязык, который пользователь хочет, чтобы система показывала, как объяснено в этом ответе .
Однако убедитесь, что у вас правильно setup Django .
Марина Меле написала учебник , который вы можете проверить для второй точки зрения.