使用内联模型扩展 Django CMS PageAdmin 时出现权限错误

Permissions error when extending Django CMS PageAdmin with an inline model

使用内联扩展 PageAdmin class 时,我似乎遇到了权限问题。

从我的调试来看,我似乎没有添加管理内联的权限,因为 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,但需要扩展页面选项,所以我编写了以下模型;

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 on here which made it look like it would work, in theory. So I just implemented the usual Page extension & added a separate menu item to the Page menu. I have also added to the settings extension discussion

用于向页面和标题添加信息和设置的记录 API 记录在 http://docs.django-cms.org/en/release-3.3.x/how_to/extending_page_title.html 并允许向页面 (language-indipendent) 和标题 (language-dependent) 楷模。 目前官方没有直接扩展PageAdmin的方法。