使用内联模型扩展 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的方法。
使用内联扩展 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的方法。