2012-04-04 10 views
5

Sto provando a seguire il tutorial di Django (per la versione 1.1) here. il problema che sto incontrando è che non riconoscerà la mia app di prova di esempio. Ad esempio, sto lavorando in/home/user1234/rst. Posso eseguire correttamente il server da lì e creare un'app. Tuttavia, se creo l'app "xyz" e poi aggiungo "rst.xyz" alla mia lista installed_apps in settings.py, non sembra funzionare. Ottengo il seguente messaggio di errore:Django: l'app con l'etichetta XYZ non è stata trovata. Sei sicuro che l'impostazione INSTALLED_APPS sia corretta?

Error: App with label xyz could not be found. Are you sure your INSTALLED_APPS setting is correct? 

io vedo che ci Near duplicate question, ma i suggerimenti non sembrano aiutare.

Il mio file settings.py include:

INSTALLED_APPS = ( 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'rst.xyz', 

)

mi hanno confermato che MySQL sia in esecuzione e che posso connettersi al database. Sto anche eseguendo postresql e apache sulla stessa macchina (non sono sicuro che ciò possa causare un errore).

Inoltre, questo potrebbe aiutare:

python -c "import sys; print sys.path" 
['', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode', '/usr/local/lib/python2.6/dist-packages'] 

Se qualcuno ha qualche suggerimento, mi piacerebbe sentirli!

+2

OOI perché stai utilizzando 1.1 quando 1.4 è la versione corrente? (Codice da http://www.djangoproject.com/download/1.4/tarball/), il tuo tutorial su: https://docs.djangoproject.com/en/1.4/intro/tutorial01/ – jvc26

+0

Nel mio caso sono usando l'appliance django turnkeylinux (che è attualmente su django v1.1). – gtownescapee

risposta

5

Il nome dell'app su quello che aggiungi alle app installate dovrebbe essere probabilmente solo xyz. Non project_dir.app_name

E per riaffermare cosa ha chiesto jvc26. Django 1.1 è piuttosto polveroso, perché inizi con 1.4 invece di 1.4?

+0

Restituisce lo stesso errore. –

+0

hai una app chiamata xyz presente nella tua prima directory? Dal momento che non c'è davvero alcun motivo, questo non funzionerebbe a meno che tu non abbia appena creato l'app ... o cancellato i file __init__.py credo che sia – John

+0

Questo lo ha fatto per me :) –

1

Ho riscontrato lo stesso errore dopo il tutorial. Il mio errore è stato che nel models.py per la mia app, ho cambiato la prima linea da

from django.db import models 

per (nel tuo caso)

from rst.db import models 

Il mio errore (a parte il tentativo di usare Python per la prima tempo) presupponeva che "django.db" fosse solo un segnaposto per il nome del database sqlite3 del mio progetto. Il take-away è, lascia quella linea di codice in models.py da solo.

1

Un ulteriore fattore che potrebbe essere utile considerare è che questo messaggio di errore è anche correlato alla configurazione del database all'interno del file delle impostazioni, quindi verificare se il nome, il motore, ecc. Corrispondono alla configurazione.

9

Okay, ho avuto un problema molto simile e questo potrebbe sembrare stupido ma ho passato ore a cercare di risolverlo prima di rendermi conto di cosa stavo facendo male.

Quello che ho fatto è stato messo l'applicazione per la posizione sbagliata, invece di:

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'polls',         

)

ho fatto:

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'polls', 

)

Mentre questo può sembrare ovvio quando lo leggi, c'è una quantità sorprendente di siti che ho trovato online in cui la gente riportava t lui stesso errore. Spero che questo salvi qualcuno a tutti i problemi che ho dovuto affrontare.

2

all'inizio del progetto 2 directory create con lo stesso nome (mysite nel mio caso), entrambe le cartelle hanno un file setting.py quindi è necessario modificare le impostazioni delle app installate in entrambi i file.

Problemi correlati