2010-01-04 11 views
5

Ho letto tutti gli altri thread ma non riesco ancora a capire perché le mie app non vengano visualizzate nell'amministratore di Django. Tutto il resto funziona bene.Le app non verranno visualizzate nell'amministratore di Django

Le mie applicazioni sono in settings.py

ho admin.autodiscover nel mio file urls.py radice

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

Tutte le mie applicazioni hanno un file admin.py contenente qualcosa come

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) 

E ho riavviato il server più e più volte ;-)

Sto costruendo su cima a Pinax, ma dalla mia lettura, non dovrebbe cambiare nulla. Qualche idea di cosa potrebbe essere sbagliato?

+0

Il solito motivo è che settings.py non menziona le app nella sezione INSTALLED_APPS, come dice Code Duck. Avete impostato correttamente? – hughdbrown

+0

Hai fatto 'syncdb'? –

+1

capito il problema. uno dei miei admin si riferiva a newform deprecati, non lo aggiustavo subito. Sembra che la seconda volta (pagina di aggiornamento) è stato chiamato l'admin, l'errore è stato eliminato e l'amministratore ha mostrato, ma senza tutti i modelli che seguivano quello contenente l'errore. come era nella parte superiore delle app che ho aggiunto, nessuno era mostrato tranne le app Pinax che erano in cima alla lista. Io darò al codice anatra grazie a tutti coloro che hanno aiutato ;-) – philgo20

risposta

8

Hai le tue app nella sezione INSTALLED_APPS in settings.py? Assicurati che le tue app siano elencate qui. La mia sezione legge

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

)

per esempio. Sono abbastanza sicuro per sicurezza, non compariranno nell'amministratore a meno che non siano nelle app installate. Penso di avere lo stesso problema, in cui non sono riuscito a far comparire Cowsite nell'amministratore.

The Django docs dire sulla pagina di amministrazione: "Per impostazione predefinita, visualizza tutte le applicazioni in INSTALLED_APPS che sono stati registrati con l'applicazione di amministrazione, in ordine alfabetico"

+0

le app sono nella lista installed_apps. Non dovrei che tutto il progetto funzioni, tutti i modelli delle mie app sono generati correttamente e funzionano con diverse viste e 10s di modelli, ma non li vedo nell'amministratore ... – philgo20

+0

aggiungi 'admin.site.register (ThisModel) 'al tuo file admin.py nella cartella dell'app. – user3526

5

Accedi come amministratore come superutente? In caso contrario, potrebbe essere un problema di autorizzazioni.

+0

Sì, lo sono, posso accedere all'amministratore, ma non vedo le app che ho aggiunto .. – philgo20

+1

Non tutti quelli che possono accedere all'amministratore hanno is_superuser giusto. Doubleckeck che tu faccia. –

+0

Sì, effettuato l'accesso con i privilegi di super utente – philgo20

0
Non

sicuro di quale versione di Django si sta utilizzando, ma i documenti attuali suggeriscono tra cui gli URL di amministrazione.

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

Penso che provenga da Pinax. Il problema non è l'approvazione dell'amministratore, che posso. Sta davvero avendo accesso ai modelli della mia app. Grazie – philgo20

-1

Non hai risposto alla domanda di Antonio. Stai effettuando il login come superutente, o almeno con un utente con diritti di aggiunta/modifica per le applicazioni? Se no, non li vedrai.

+0

Io sono e vedo tutti gli altri modelli e app ... – philgo20

6

Per coincidenza ho avuto lo stesso problema stamattina. In breve, questo è ciò che ha funzionato per me (vedi riferimenti per i dettagli):

Nella directory di livello superiore di MyApp (ovvero la stessa directory di models.py, ecc.) Ho aggiunto un modulo python admin.py, contenente:

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

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

Quindi nella directory mysite ho eseguito syncdb e runserver e ThisModel e ThatModel erano nell'interfaccia di amministrazione.

Funziona per voi?

Auguri

Ivan

** Riferimenti

(io sono un nuovo membro così mi è permesso di inviare un solo hyperlink!)

Django tutorial: Make the poll app modifiable in the admin

C'era anche una query sul gruppo Pinax Google ha recentemente intitolato "Come aggiungere il mio app per Admin in un progetto Pinax?"

+0

se guardi la mia domanda, lo faccio già. Grazie – philgo20

0

Per gli altri, ho riscontrato lo stesso problema a causa del fatto che grappelli.dashboard si trova nelle app installate ma non è effettivamente installato nel virtualenv, quindi eseguiamo un blocco dei fermi e assicuriamo che tutti i requisiti siano effettivamente installati.

0

Ho avuto lo stesso problema, che cosa ha funzionato per me stava cambiando questa linea in urls.py:

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

a

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

(Rimozione del r nella prima porzione di codice) Per qualche motivo di cui non sono a conoscenza, i sondaggi sono diventati visibili in admin dopo.

Problemi correlati