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을 확장하려고 시도하지 않았지만 페이지 옵션을 확장해야하므로 다음 모델을 작성했습니다.
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 설정을 추가 할 수 있습니까? 잘 지껄이는
에서 대답 다음
편집 나는 그것이 이론적으로 작동하는 것처럼 보이게 만든 여기에는 오래 answer 다음이 구현을 시도했다. 그래서 난 그냥 페이지 메뉴에 별도의 메뉴 항목을 추가 & 일반적인 페이지 확장을 구현했습니다. 이 기능을 구현하는 것과 관련하여 프로젝트의 설정 확장자 discussion을 추가했습니다.
가능한 중복 [django-cms에서 일부 추가 필드를 페이지에 추가하는 방법? (장고 관리자 패널)] (http://stackoverflow.com/questions/10293641/how-to-add-some-extra-fields-to-the-page-in-django-cms-in-django-admin- 패널) – Flimm
@Flimm 그 질문에 대한 '대답'은 내가 여기서 한 일이며, 그 결과 오류가 발생합니다. –
나도 알아,하지만 질문은 동일합니다, 그것은 단지 기존의 답변이 작동하지 않았다는 것입니다. @yakky가 권장하는 방법을 사용하여 해당 질문에 대한 답변을 추가했습니다. – Flimm