2010-01-04 19 views
5

He leído todos los otros hilos pero todavía no entiendo por qué mis aplicaciones no se muestran en Django admin. Todo lo demás funciona bienLas aplicaciones no se mostrarán en Django admin

Mis aplicaciones se encuentran en settings.py

tengo en mi archivo admin.autodiscover urls.py raíz

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')), 
) 

Todos mis aplicaciones tienen un archivo que contiene algo así como 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) 

Y he reiniciado el servidor una y otra vez ;-)

Estoy construyendo en parte superior de Pinax, pero desde mi lectura, no debería cambiar nada. ¿Alguna pista de lo que podría estar mal?

+0

La razón habitual es que settings.py no menciona las aplicaciones en la sección INSTALLED_APPS, como dice Code Duck. ¿Tiene esto configurado correctamente? – hughdbrown

+0

¿Has hecho 'syncdb'? –

+1

descubrió el problema. uno de mis administradores se estaba refiriendo a las formas nuevas obsoletas, no lo solucioné de inmediato. Parece que la segunda vez (página de actualización) se llamó al administrador, se quitó el error y se mostró el administrador, pero sin todos los modelos que seguían el que contenía el error. como estaba en la parte superior de las aplicaciones que agregué, no se mostró ninguna, excepto las aplicaciones Pinax que estaban en la parte superior de la lista. no descartar errores ;-) lo daré a pato código gracias a todos los que ayudaron ;-) – philgo20

Respuesta

8

¿Tiene sus aplicaciones en la sección INSTALLED_APPS en settings.py? Asegúrate de que tenga tus aplicaciones allí. Mi sección dice

INSTALLED_APPS = (
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.admin', 
'django.contrib.sites', 
'squick.items', 
'cowsite.search', 
'cowsite.posts', 

)

por ejemplo. Estoy bastante seguro de que no aparecerán en el administrador a menos que estén en aplicaciones instaladas. Creo que tuve este mismo problema, donde no pude conseguir que cowsite apareciera en el administrador.

The Django docs dicen acerca de la página de administración: "Por defecto, muestra todas las aplicaciones en INSTALLED_APPS que han sido registradas en la aplicación de administración, en orden alfabético"

+0

las aplicaciones están en la lista de installed_apps. No debería funcionar para que todo el proyecto funcione, todos los modelos de mis aplicaciones se generan correctamente y funciona en diferentes vistas y decenas de plantillas, pero no los veo en el administrador ... – philgo20

+0

add 'admin.site.register (ThisModel) 'a su archivo admin.py en la carpeta de su aplicación. – user3526

5

¿Está iniciando sesión en la administración como superusuario? Si no, podría ser un problema de permisos.

+0

Sí soy, puede iniciar sesión en el administrador, pero no veo las aplicaciones que he agregado ... – philgo20

+1

No todos los que pueden iniciar sesión en admin tienen is_superuser correcto. Doublecheck que haces. –

+0

Sí, inicié sesión con privilegios de super_user – philgo20

0
No

seguro de la versión de Django está utilizando, pero los documentos actuales sugieren incluyendo las direcciones de administrador.

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

Creo que proviene de pinax. El problema no es acceder al administrador, eso sí puedo. Realmente está teniendo acceso a los modelos de mi aplicación. Gracias – philgo20

-1

Usted no ha respondido la pregunta de Antony. ¿Estás iniciando sesión como superusuario, o al menos con un usuario con derechos de agregar/editar para las aplicaciones? Si no, no los verás.

+0

Soy y veo todos los otros modelos y aplicaciones ... – philgo20

6

Por coincidencia tuve el mismo problema esta mañana. En resumen, esto es lo que funcionó para mí (ver referencias para más detalles):

En el directorio de nivel superior de MyApp (es decir, el mismo directorio que models.py, etc.) agregué un módulo python admin.py, que contiene:

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

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

Luego en el directorio mysite hice syncdb y runserver, y ThisModel y ThatModel estaban en la interfaz de administración.

¿Eso funciona para usted?

mejores deseos

Ivan

** Referencias

(soy un nuevo miembro por lo que se me permite publicar sólo un hipervínculo!)

Django tutorial: Make the poll app modifiable in the admin

También hubo una consulta en el grupo Pinax Google recientemente titulado, "¿Cómo agregar mi aplicación a la administración en un proyecto Pinax?"

+0

si miran mi pregunta, ya lo hago. Gracias – philgo20

0

Para que otros sepan esto, tuve el mismo problema debido a que grappelli.dashboard está en las aplicaciones instaladas pero no está realmente instalado en el virtualenv, así que haga una congelación de pip y asegúrese de que todos sus requisitos estén realmente instalados.

0

que tenían el mismo problema, lo que funcionó para mí estaba cambiando esta línea en urls.py:

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

a

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

(Extracción de la r en el primer bit de código) Por alguna razón que no conozco, las encuestas se hicieron visibles en el administrador después de eso.