2015-01-15 2 views
1

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을 추가했습니다.

+0

가능한 중복 [django-cms에서 일부 추가 필드를 페이지에 추가하는 방법? (장고 관리자 패널)] (http://stackoverflow.com/questions/10293641/how-to-add-some-extra-fields-to-the-page-in-django-cms-in-django-admin- 패널) – Flimm

+0

@Flimm 그 질문에 대한 '대답'은 내가 여기서 한 일이며, 그 결과 오류가 발생합니다. –

+1

나도 알아,하지만 질문은 동일합니다, 그것은 단지 기존의 답변이 작동하지 않았다는 것입니다. @yakky가 권장하는 방법을 사용하여 해당 질문에 대한 답변을 추가했습니다. – Flimm

답변