2016-05-02 22 views
0

したがって、docsに記載されているようにAdminSiteクラスを使用して管理ページをカスタマイズします。Django:Custome管理サイトクラスの管理者用デコレータ

from django.contrib.admin import AdminSite 
from .models import MyModel 

class MyAdminSite(AdminSite): 
    site_header = 'Monty Python administration' 

admin_site = MyAdminSite(name='myadmin') 

しかし、その代わりadmin_site.register(MyModel)を使用して、私は

from django.contrib.admin import ModelAdmin 

@admin_site.register(MyModel) 
class MyModelAdmin(ModelAdmin): 
    pass 

のようなレジスタデコレータを使用したいと思いますしかし、これが唯一のエラーTypeError: 'NoneType' object is not callableをスローします。 Djangoでサブクラスのサブクラスのデコレータがまだ登録されていますか(1.9)、何か不足していますか?

答えて

1

あなたがまだそれを理解しているかどうかはわかりません。しかし、あなたは管理クラスにadmin.ModelAdminをサブクラス化していないことがわかります。レジスタデコレータに(= mymodelという、サイトMyAdminSite

admin.register @

from django.contrib import admin 
... 

@admin.register(MyModel, site=MyAdminSite) 
class MyModelAdmin(ModelAdmin): 
    pass 

ドキュメントを::

@admin_site.register(MyModel) 
class MyModelAdmin(admin.ModelAdmin): 
    pass 
+0

私はしました。私は 'django.contrib.admin import ModelAdmin'のようにインポートしました。 – Jarno

関連する問題