2010-01-04 5 views
5

Я прочитал все остальные темы, но до сих пор не понял, почему мои приложения не отображаются в администраторе Django. Все остальное отлично работает.Приложения не отображаются в администраторе 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, но из моего чтения это ничего не меняет. Есть ли какие-нибудь подсказки, что может быть неправильным?

+0

Обычная причина в том, что settings.py не упоминает приложения в разделе INSTALLED_APPS, как говорит Code Duck. У вас есть это правильно? – hughdbrown

+0

Вы сделали 'syncdb'? –

+1

выяснил проблему. один из моих админов ссылался на устаревшие новые формы, я не смазывал масло сразу. Похоже, что во второй раз (обновляющаяся страница) был вызван администратор, ошибка была отброшена, а администратор показал, но без всех моделей, которые следовали за тем, который содержит ошибку. поскольку это было в верхней части приложений, которые я добавил, ни один из них не показывался, кроме приложений Pinax, которые находились в верхней части списка. не никогда не отклонять в сообщениях об ошибках ;-) Я дам ему код утку спасибо всем, кто помог ;-) – philgo20

ответ

8

У вас есть ваши приложения в разделе INSTALLED_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', 

)

, например. Я уверен в безопасности, они не появятся в админах, если они не находятся в установленных приложениях. Я думаю, что у меня была такая же проблема, когда я не мог заставить коузита появиться в админе.

The Django docs говорит о странице администратора: «По умолчанию, она отображает все приложения в INSTALLED_APPS, которые были зарегистрированы с приложением администратора, в алфавитном порядке»

+0

Приложения находятся в списке установленных_apps. Я не должен, чтобы весь проект работал, все модели из моих приложений генерировались правильно и работает в разных представлениях и 10-ти шаблонов, но я не вижу их в админ ... – philgo20

+0

add 'admin.site.register (ThisModel) 'к вашему файлу admin.py в папке вашего приложения. – user3526

5

Вы входите в админ как суперпользователь? Если нет, это может быть проблема с разрешениями.

+0

Да я, я могу войти в админ, но я не вижу приложений, которые я добавлено .. – philgo20

+1

Не каждый, кто может войти в админ, имеет права is_superuser. Doublecheck, что вы делаете. –

+0

Да, вошел в систему с привилегиями super_user – philgo20

0

Не знает, какую версию Джанго вы используете, но текущие документы предлагают , включая URL-адреса администратора.

('^admin/', include(admin.site.urls)) 
+0

Я думаю, что приходит от pinax. Проблема заключается не в том, что администратор, я могу. Это действительно не подходит для моделей моего приложения. Спасибо – philgo20

-1

Вы не ответили на вопрос Антони. Заходите ли вы в качестве суперпользователя или, по крайней мере, с пользователем с правами на добавление/редактирование приложений? Если нет, вы их не увидите.

+0

Я и я вижу все другие модели и приложения ... – philgo20

6

По совпадению у меня была такая же проблема сегодня утром. Вкратце, это то, что сработало для меня (см. Ссылки для деталей):

В каталоге верхнего уровня MyApp (то есть в том же каталоге, что и models.py и т. Д.) Я добавил модуль python admin.py, содержащий:

from models import ThisModel, ThatModel 
from django.contrib import admin 

admin.site.register(ThisModel) 
admin.site.register(ThatModel) 

Тогда в каталоге mysite я выполнил syncdb и runningerver, а ThisModel и ThatModel были в интерфейсе администратора.

Это работает для вас?

С наилучшими пожеланиями

Иван

** Ссылки

(Я новый член так я разрешается размещать только одну гиперссылку!)

Django tutorial: Make the poll app modifiable in the admin

Был также запрос на группе Pinax Google недавно под названием «Как добавить мое приложение к администратору в проекте Pinax?»

+0

если вы посмотрите на мой вопрос, я уже это делаю. благодаря – philgo20

0

Для других, сталкивающихся с этим, у меня была такая же проблема из-за того, что grappelli.dashboard находилась в установленных приложениях, но фактически не установлена ​​в virtualenv, так что замораживайте пипетку и убедитесь, что все ваши требования действительно установлены.

0

У меня была та же проблема, что работает для меня изменял эту строку в urls.py:

url(r'^admin/', include(admin.site.urls)), 

в

url('^admin/', include(admin.site.urls)), 

(Удаление г в первый бит кода) По какой-то причине я не знаю, что после этого Опросы стали видны в админе.