Django CMS自定义插件-如何处理翻译

Django CMS自定义插件-如何处理翻译,django,internationalization,django-admin,django-cms,Django,Internationalization,Django Admin,Django Cms,我有一个旋转木马,其中包括一个画廊模型,有几个图片模型。图片模型如下所示: class Picture(models.Model): gallery = models.ForeignKey(Gallery) image = models.ImageField(upload_to="uploads/images/") title = models.CharField(max_length=30, null=True, blank=True) tagline = mo

我有一个旋转木马,其中包括一个画廊模型,有几个图片模型。图片模型如下所示:

class Picture(models.Model):
    gallery = models.ForeignKey(Gallery)
    image = models.ImageField(upload_to="uploads/images/")
    title = models.CharField(max_length=30, null=True, blank=True)
    tagline = models.CharField(max_length=30)
    description = models.CharField(max_length=100)
    page_link = PageField(related_name="Page", null=True, blank=True)
由于网站有3种语言,管理员如何对所有语言使用相同的旋转木马,具有相同的图像,但对文本的翻译不同

必须有一个比仅仅使用标题、标题等更好的方法,对吗?

我强烈推荐

这是您的models.py作为hvad
translateablemodel

class Picture(TranslatableModel):
    translations = TranslatedFields(
        title = models.CharField(max_length=30, null=True, blank=True)
        tagline = models.CharField(max_length=30)
        description = models.CharField(max_length=100)
    )
    gallery = models.ForeignKey(Gallery)
    image = models.ImageField(upload_to="uploads/images/")
    page_link = PageField(related_name="Page", null=True, blank=True)

    def __unicode__(self):
        return self.lazy_translation_getter('title', self.pk)
正如文档中提到的,这个应用程序仍处于测试阶段,但我已经在许多生产环境中使用过它,效果很好

需要记住的一点是,它确实带来了一些限制

它的工作方式是创建一个名为
PictureTransation
(或类似的东西)的模型,该模型将包含三个字段
title
tagline
description
,以及
ForeignKey
Picture

您仍然可以执行
picture\u实例。title
,只要picture\u实例支持语言


如果您愿意,我可以根据您的具体使用案例给出更好的解释。

看看这个,可以找到一些可行的替代方案。非常感谢!我会尝试实施它,如果它不起作用,我会给你回复。