Я считал все другие потоки, но я все еще не добираюсь, почему мои приложения не обнаруживаются в администраторе Django. Все остальное хорошо работает.
Мои приложения находятся в settings.py
У меня есть admin.autodiscover в моем корне urls.py файл
from django.conf.urls.defaults import *
from django.conf import settings
from django.views.generic.simple import direct_to_template
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^$', direct_to_template, {
"template": "homepage.html",
}, name="home"),
url(r'^admin/invite_user/$', 'signup_codes.views.admin_invite_user', name="admin_invite_user"),
url(r'^account/signup/$', "signup_codes.views.signup", name="acct_signup"),
(r'^account/', include('account.urls')),
(r'^profiles/', include('basic_profiles.urls')),
(r'^notices/', include('notification.urls')),
(r'^announcements/', include('announcements.urls')),
(r'^tagging_utils/', include('tagging_utils.urls')),
(r'^attachments/', include('attachments.urls')),
(r'^comments/', include('threadedcomments.urls')),
#
(r'^wayfinder/', include('wayfinder.urls')),
(r'^site/', include('jsite.urls')),
(r'^kiosk/', include('kiosk.urls')),
(r'^navigator/', include('navigator.urls')),
(r'^location/', include('location.urls')),
(r'^event/', include('event.urls')),
#(r'^news_reader/', include('news_reader.urls')),
#(r'^weather_reader/', include('weather_reader.urls')),
(r'^admin/(.*)', admin.site.root),
)
if settings.SERVE_MEDIA:
urlpatterns += patterns('',
(r'^site_media/', include('staticfiles.urls')),
)
Все мои приложения имеют admin.py файл, содержащий что-то как
from django.contrib import admin
from event.models import Event
class EventAdmin(admin.ModelAdmin):
list_display = (
'short_name',
'long_name',
'locations',
'categories',
'description',
'phone',
'email',
'url_source',
'url_location',
'external_ref',
'show_event'
)
admin.site.register(Event, EventAdmin)
И я перезапустил сервер много раз ;-)
Я создаю сверху Pinax, но от моего чтения, он ничего не должен изменять. Какая-либо подсказка, что могло бы быть неправильным?
Есть ли у вас приложения в разделе УСТАНОВЛЕННЫЕ_APPS в файле settings.py? Убедитесь, что там есть ваши приложения. Например, в моем разделе
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'django.contrib.sites',
'squick.items',
'cowsite.search',
'cowsite.posts',
)
. Я уверен, что для безопасности они не появятся у администратора, если не находятся в установленных приложениях. Думаю, у меня была такая же проблема, когда я не мог заставить коровы появляться в админе.
В документах Django говорится о странице админа: "По умолчанию она отображает все приложения в INSTALLED_APPS, которые были зарегистрированы в приложении admin, в алфавитном порядке"
.Вы входите в систему администратором как суперпользователь? Если нет, это может быть проблемой с разрешениями.
По совпадению, у меня была та же проблема сегодня утром. Вкратце, вот что сработало (подробнее см. ссылки):
В каталоге верхнего уровня MyApp (т.е. в том же каталоге, что и models.py и т.д.) я добавил администратора питонового модуля. py, содержащий:
from models import ThisModel, ThatModel
from django.contrib import admin
admin.site.register(ThisModel)
admin.site.register(ThatModel)
Затем в каталоге mysite я сделал синхронизацию и runerver, а ThisModel и ThatModel были в интерфейсе админа.
Работает ли это для вас?
С наилучшими пожеланиями
Иван
** References
(Я новый участник, так что мне разрешено размещать только одну гиперссылку!)
Учебник по работе с джанго: Сделайте приложение для опроса модифицируемым в Admin
Недавно был также задан вопрос группе Pinax google: "Как добавить мое приложение для Admin в проект Pinax?"
Вы не ответили на вопрос Антония. Вы входите в систему как суперпользователь или, по крайней мере, как пользователь с правами на добавление/редактирование приложений? Если нет, то вы их не увидите.
Не уверен, какую версию программного обеспечения вы используете, но в текущей документации указано , включая urls.
('^admin/', include(admin.site.urls))