Django dynamici c изменение LANGUAGE_CODE для использования 1 шаблона и 3 переведенных полей модели - PullRequest
0 голосов
/ 06 апреля 2020

Я хочу использовать один шаблон для отображения на 3 разных языках в зависимости от LANGUAGE_CODE, поэтому я хотел бы изменить значение LANGUAGE_CODE и выбрать язык из раскрывающегося меню в моем шаблоне.

Моя модель содержит переведенные поля на 3 языках

    class Recipe(AuditBaseModel):
        recipe_id = models.AutoField(primary_key=True)
        recipe_code = models.CharField(max_length=30, null=False, blank=False)
        recipe_name = models.TextField(verbose_name=_('recipe_name'), blank=True, null=True)
        recipe_name_eng = models.TextField(blank=True, null=True)
        recipe_name_nor = models.TextField(blank=True, null=True)

Мой шаблон может отображать каждое поле в зависимости от LANGUAGE_CODE

        {% get_current_language as LANGUAGE_CODE %}
        {% if LANGUAGE_CODE == 'en-gb' %}<h2>{{ recipe_form.recipe_name_eng.value }}</h2>
        {% elif LANGUAGE_CODE == 'nb' %}<h2>{{ recipe_form.recipe_name_nor.value }}</h2>
        {% elif LANGUAGE_CODE == 'es' %}<h2>{{ recipe_form.recipe_name.value }}</h2>
        {% endif %}

Также в моем шаблоне есть раскрывающееся меню для выбора языка

         <li><a href="">Language</a>
           <ul class="sub-menu">
              <li><a href="">English</a></li>
              <li><a href="">Norsk</a></li>
              <li><a href="">Espanol</a></li>
           </ul>
         </li>

Как я могу динамически изменить значение LANGUAGE_CODE в моем файле settings.py, когда пользователь выбирает определенный c язык из меню шаблонов?

Большое спасибо за авансовый

...