2

何らかの理由で、管理者に追加するときに言語タブが表示されません。Django 1.9.10 を使用しています。私はdjango-hvadを使用していましたが、パーラーを試すことにしました。新しいプロジェクトでまったく同じコードを試してみましたが、機能しましたが、既存のプロジェクトでは機能しません。私もdjango-mpttを使用していることに注意してください。mptt モデルとは別のモデルで parler を試してみました。

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)
4

2 に答える 2

9

同じ問題を修正するために多くの時間を費やしました。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.
    }
}
于 2016-11-15T21:25:18.563 に答える
0

最新のものにアップグレードしてみてくださいdjango-parler

Parler 1.5.1 と Django 1.8.14 でも同じ問題がありました。にアップグレードしてdjango-parler==1.6.5Django==1.8.15翻訳タブが管理画面に再び表示されるようにしました。

于 2016-11-01T09:19:07.877 に答える