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
默认情况下,在新项目的 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)
即使您有自定义管理员,此调用也可能是必要的。