Мои приложения не видны при использовании пользовательского AdminSite - PullRequest
5 голосов
/ 09 сентября 2010

У меня возникла проблема с пользовательским AdminSite - мои приложения не видны по индексу администратора и недоступны, если я наберу соответствующий URL для просмотра их моделей. Моя проблема очень похожа на эту: http://groups.google.com/group/django-users/browse_thread/thread/881feb7eef80853a, но это своего рода обратная проблема - связанные модели видны, а мои пользовательские - нет.

Мой проект называется magic и у него есть приложение. по имени нуль

магия / 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)

магия / nullt / admin.py

from magic.admin import admin_site
...
admin_site.register(Host, HostAdmin)
admin_site.register(Client, ClientAdmin)
...

магия / urls.py

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

urlpatterns = patterns('',
    (r'^admin/', include(admin_site.urls)),
)

P.S. Я использую Django 1.2.2, установленный с easy_install и Python 2.6.5 из Ubuntu 10.04 x86_64

1 Ответ

2 голосов
/ 13 ноября 2010

По умолчанию следующие две строки закомментированы в URL нового проекта.

from django.contrib import admin
admin.autodiscover()

С 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.
    """

Этот вызов может понадобиться, даже если у вас есть пользовательский администратор.

...