我尝试通过子类化或修补它来修改feincms PageAdmin
。当我使用自定义AdminSite
实例时,两者都不起作用:MediaLibrary exentsion按钮(它们出现在Page.create_content_type(MediaFileContent...
之后)在我这样做时消失。
from django.contrib import admin
from feincms.module.page.modeladmins import PageAdmin
from feincms.module.page.models import Page
paii_admin = admin.AdminSite(name='paii_admin')
paii_admin.index_template = 'admin/cms/index.html'
class SitePageAdmin(PageAdmin):
def queryset(self, request):
return super(SitePageAdmin, self).queryset(request)
paii_admin.register(Page, PageAdmin)
答案 0 :(得分:0)
我明白了。
你也应该注册MediaFile(来自medialibrary):
paii_admin.register(MediaFile, MediaFileAdmin)
在feincms/templates/admin/feincms/_content_type_buttons.html
我们有以下内容:
{% url "admin:medialibrary_mediafile_changelist" as media_library_url %}
[...]
{% if media_library_url %}
}, {
type: 'mediafilecontent',
keep: true,
cssclass: 'imagecontent',
raw_id_picker: '{{ media_library_url }}?type__exact=image&pop=1'
}, {
type: 'gallerycontent',
keep: true
}, {
type: 'mediafilecontent',
keep: true,
cssclass: 'pdfcontent',
raw_id_picker: '{{ media_library_url }}?type__exact=pdf&pop=1'
{% endif %}
仅当medialibrary注册到命名空间
时,这些字段才由JS填充