在內聯中擴展PageAdmin
類時,我似乎遇到權限問題。擴展Django CMS PageAdmin時使用內聯模型時的權限錯誤
從我的調試中,似乎我沒有權限添加管理內聯,因爲以下方法從PageAdmin
返回空列表。
def get_inline_classes(self, request, obj=None, **kwargs):
if obj and 'permission' in request.path:
return PERMISSION_ADMIN_INLINES
return []
我是一個網站超級用戶,所以你如何獲得許可做到這一點? CMS_PERMISSION = True
是在設置(雖然我承認我從來沒有看過這樣做)。
我還沒有嘗試過擴展PageAdmin,但需要擴展Page選項,所以我寫了下面的模型;
class ShowPageChildren(models.Model):
page = models.ForeignKey(
Page,
unique=True,
verbose_name=_("Page"),
editable=False,
related_name='child_menu'
)
show_children = models.BooleanField(
default=False
)
text = models.CharField(
max_length=255,
help_text=_("To accompany the page title in the menu")
)
當我加載的基本設置頁面沒有內聯,但我被載有下面admin.py
;
class ShowPageChildrenAdmin(admin.StackedInline):
print '\n\nShowPageChildrenAdmin\n\n'
model = ShowPageChildren
can_delete = False
PageAdmin.inlines.append(ShowPageChildrenAdmin)
try:
admin.site.unregister(Page)
except:
pass
admin.site.register(Page, PageAdmin)
這是添加到CMS PageAdmin設置的正確方法嗎?
編輯從以下yakky
答案,我試圖遵循老answer在這裏這使得它看起來像它的工作,在理論上這種實現。所以我只是實現了通常的頁面擴展&添加一個單獨的菜單項到頁面菜單。我還在項目的設置擴展discussion上添加了關於實現此功能的信息。
[如何在django-cms的頁面中添加一些額外的字段可能的重複? (在Django的管理面板)](http://stackoverflow.com/questions/10293641/how-to-add-some-extra-fields-to-the-page-in-django-cms-in-django-admin-面板) – Flimm
@Flimm這個問題的'答案'就是我在這裏做的,導致了一個錯誤。 –
我知道,但問題是一樣的,只是現有的答案不起作用。我已經使用@yakky建議的方式爲此問題添加了答案。 – Flimm