Подтвердить что ты не робот

Зарегистрированные модели не отображаются в admin

Я добавил модель для администратора через admin.site.register, и она не отображается в admin. Поскольку администратор так "Он просто работает", я понятия не имею, как его отладить. Указатели?

4b9b3361

Ответ 1

После добавления и регистрации администратора:

# app/admin.py
class YourModelAdmin(admin.ModelAdmin):
    pass

admin.site.register(YourModel, YourModelAdmin)

Убедитесь, что ваше приложение находится в вашем проекте settings.py:

# settings.py
INSTALLED_APPS = (
    # other apps ...
    'app',
)

Синхронизируйте проект для этой модели, если вы еще этого не сделали:

python manage.py syncdb

Перезагрузите сервер, CTRL-C:

python manage.py runserver

Ответ 2

В такой ситуации также является хорошей практикой проверять, имеет ли пользователь, входящий в админ-панель, права на управление такой моделью. Если они это сделают, вы можете изменить свой код для доступа к функциям с правами root.

Ответ 3

Если есть сомнения, выключите сервер, syncdb, запустите сервер.

Ответ 4

У меня есть опыт, который иногда после изменения admin.py dev-sever не перезапускается. в этом случае touch settings.py помогает.

Ответ 5

Я думаю, что контрольный список в ответе Тьерри почти окончательный, но убедитесь, что urls.py содержит admin.autodiscover() для загрузки INSTALLED_APPS модулей admin.py.

# urls.py
from django.conf.urls.defaults import *
from django.contrib import admin

admin.autodiscover()

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

Дополнительная информация в django docs.

Ответ 6

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

Ответ 7

Также убедитесь, что в вашем admin.py нет никаких синтаксических ошибок. Это может привести к тому, что приложение не сможет зарегистрироваться в AdminSite.

Ответ 8

закомментируйте некоторые строки в urls.py, см. документы для более подробной информации

admin.autodiscover()

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