使用自定义AdminSite时,我的应用程序不可见

Dmi*_*tov 5 django django-admin

我的自定义AdminSite有问题 - 我的应用程序在管理员索引处不可见,如果我键入适当的URL来查看其模型,则无法访问.我的问题与此非常相似:http://groups.google.com/group/django-users/browse_thread/thread/881feb7eef80853a,但这是一种反向问题 - 捆绑的模型是可见的,但我的自定义不是.

我的项目名为magic,它有app.命名为nullt

魔法/ admin.py:

from django.contrib.admin.sites import AdminSite
from django.contrib.auth.models import User, Group
from django.contrib.auth.admin import UserAdmin, GroupAdmin 

class MagicAdmin(AdminSite):
    pass

admin_site = MagicAdmin()

admin_site.register(Group, GroupAdmin)
admin_site.register(User, UserAdmin)
Run Code Online (Sandbox Code Playgroud)

魔法/ nullt/admin.py

from magic.admin import admin_site
...
admin_site.register(Host, HostAdmin)
admin_site.register(Client, ClientAdmin)
...
Run Code Online (Sandbox Code Playgroud)

魔法/ urls.py

from django.conf.urls.defaults import * #@UnusedWildImport
from magic.admin import admin_site

urlpatterns = patterns('',
    (r'^admin/', include(admin_site.urls)),
)
Run Code Online (Sandbox Code Playgroud)

PS我正在使用安装了easy_install的Django 1.2.2和来自Ubuntu 10.04 x86_64的Python 2.6.5

ete*_*ode 2

默认情况下,在新项目的 urls.py 中注释以下两行:

from django.contrib import admin
admin.autodiscover()
Run Code Online (Sandbox Code Playgroud)

django/contrib/admin/__init__.py

def autodiscover():
    """
    Auto-discover INSTALLED_APPS admin.py modules and fail silently when
    not present. This forces an import on them to register any admin bits they
    may want.
    """
Run Code Online (Sandbox Code Playgroud)

即使您有自定义管理员,此调用也可能是必要的。