2016-10-22 11 views
0

何らかの理由で、管理者に追加するときに言語タブが表示されない。私はDjango 1.9.10を使用しています。私はdjango-hvadを使っていましたが、parlerを試してみることにしました。私は新鮮なプロジェクトで同じ正確なコードを試してみましたが、それはうまくいきましたが、私の既存のプロジェクトではそうではありません。私もdjango-mpttを使用しています。 mpttモデルとは別のモデルでparlerを試し、その逆も同様です。管理者にdjango-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) 

答えて

0

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

Parler 1.5.1とDjango 1.8.14で同じ問題が発生しました。 django-parler==1.6.5Django==1.8.15にアップグレードすると、翻訳タブが再び管理者に表示されます。

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

私はすでに 'SITE_ID = 2'、SITE_IDを持っているので、私はそれがadminに示す翻訳タブの問題である '1'から '2'に' PARLER_LANGUAGES'インデックスを変更インターフェイス、私の問題を解決した素晴らしい答え。 –

関連する問題