Нужно сделать сайт с поддержкой разных языков. Как сделать текст в шаблонах - это понятно. Но столкнулся с проблемой в моделях.
Есть модель новости.
class News(models.Model):
title = models.CharField(max_length=200, verbose_name='Заголовок')
slug = models.SlugField(max_length=200, unique=True)
pub_date = models.DateField(verbose_name='Дата публикации')
intro_text = models.TextField(verbose_name='Краткий текст')
intro_text_en = models.TextField(verbose_name='Краткий текст на английском')
full_text = models.TextField(verbose_name='Полный текст')
full_text_en = models.TextField(verbose_name='Полный текст на английском')
hidden = models.BooleanField(default=False, verbose_name='Скрыт')
def save(self, *args, **kwargs):
self.slug = slugify(unidecode(self.title))
super(News, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse('news_page', kwargs={
'slug': self.slug,
})
def __str__(self):
return self.title
class Meta:
verbose_name = 'Новость'
verbose_name_plural = 'Новости'
Возникает вопрос как вывести нужное поле при выбранном языке.
Можно ли как-то так вывести поле примерно так - {{ news['full_text' + select_lng] }}?
Если нет, то можете предложит какой-то более правильный вариант?