django-parler не показывает вкладки в админке

По какой-то причине я не вижу языковых вкладок при добавлении в админ. Я использую Django 1.9.10. Я использовал django-hvad, но решил попробовать parler. Я попробовал тот же самый точный код в новом проекте, и он работал, но в моем существующем проекте это не так. Обратите внимание, что я также использую django-mptt. Пробовал parler в отдельной модели от модели mptt и наоборот.

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'

модель

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

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)

2 ответа

Я просто потратил много времени, чтобы решить ту же проблему. Попробуйте использовать реальный SITE_ID вместо None:

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.
    }
}

Попробуйте обновить до последней версии django-parler,

У нас была та же проблема с Parler 1.5.1 и Django 1.8.14. Обновление до django-parler==1.6.5 а также Django==1.8.15 заставил вкладки перевода снова появиться в Admin.

Другие вопросы по тегам