首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-parler在管理中不显示选项卡

django-parler在管理中不显示选项卡
EN

Stack Overflow用户
提问于 2016-10-22 09:05:58
回答 2查看 1.3K关注 0票数 2

由于某些原因,在添加到管理员时,我看不到任何语言选项卡。我使用的是Django 1.9.10。我使用的是django-hvad,但我决定尝试parler。我在一个新的项目中尝试了相同的代码,但在我现有的项目中却没有,请注意我也在使用django-mptt。在与mptt模型不同的模型中尝试parler,反之亦然。

代码语言:javascript
复制
settings/base.py

# Translations
gettext = lambda s: s
LANGUAGES = (
    ('en', gettext('English')),
    ('ar', gettext('Arabic')),
)

LOCALE_PATHS = (
    os.path.join(BASE_DIR, "locale"),
)

# # Parler Configuration
PARLER_LANGUAGES = {
    None: (
        {'code': 'ar', },
        {'code': 'en',},
    ),
    'default': {
        'fallback': 'ar',             # defaults to PARLER_DEFAULT_LANGUAGE_CODE
        'hide_untranslated': False,   # the default; let .active_translations()       return fallbacks too.
    }
}
PARLER_DEFAULT_LANGUAGE_CODE = 'ar'

模型

代码语言:javascript
复制
class Category(MPTTModel, TranslatableModel):
    slug = models.SlugField(max_length=50, unique=True, null=True, blank=True)
    translations = TranslatedFields(
        title = models.CharField(max_length=90, unique=True, null=True, blank=True)
    )
    timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
    parent = TreeForeignKey('self', null=True, blank=True, related_name='children')

    objects = CategoryManager()

    def __unicode__(self):

        return unicode(self.slug) or u''

    def get_absolute_url(self):
        return reverse("category:detail", kwargs={"slug": self.slug})

    class Meta:
        ordering = ["slug"]
        verbose_name = _("Category")
        verbose_name_plural = _("Categories")

admin.py

代码语言:javascript
复制
class CategoryAdminForm(MPTTAdminForm, TranslatableModelForm):
    pass


class CategoryAdmin(TranslatableAdmin, MPTTModelAdmin):
    form = CategoryAdminForm

    def get_prepopulated_fields(self, request, obj=None):
        return {'slug': ('title',)}  # needed for translated fields


admin.site.register(Category, CategoryAdmin)
EN

回答 2

Stack Overflow用户

发布于 2016-11-16 05:25:19

我刚刚花了很多时间来解决同样的问题。尝试使用真正的SITE_ID而不是None

代码语言:javascript
复制
PARLER_LANGUAGES = {
    1: (
        {'code': 'ar', },
        {'code': 'en',},
    ),
    'default': {
        'fallback': 'ar',             # defaults to PARLER_DEFAULT_LANGUAGE_CODE
        'hide_untranslated': False,   # the default; let .active_translations()       return fallbacks too.
    }
}
票数 9
EN

Stack Overflow用户

发布于 2016-11-01 17:19:08

请尝试升级到最新的django-parler

我们在Parler 1.5.1和Django 1.8.14中也遇到了同样的问题。升级到django-parler==1.6.5Django==1.8.15使翻译选项卡再次显示在管理中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40187339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档