Da dove viene django del server dev (runserver manage.py) ottiene il suo percorso da?
-
25-09-2019 - |
Domanda
Recentemente ho trasferito un'applicazione Django da c:\Users\user\django-projects\foo\foobar
a c:\Python25\Lib\site-packages\foo\foobar
(che è sulla strada pitone). Ho iniziato una nuova applicazione nella directory django-projects
, e foo.foobar
aggiunto all'impostazione INSTALLED_APPS
. Quando provo ad eseguire il server dev (manage.py runserver
) per il mio nuovo app, ottengo l'errore di ImportError: No module named foobar
.
Guardando attraverso il traceback, che sta cercando nel c:\Users\user\django-projects\foo\..\foo\foobar
per l'applicazione foobar
. Ho controllato il mio PATH
e ambiente PYTHONPATH
variabili, e nessuno dei due punti per c:\Users\user\django-projects\foo
e non mostra in sys.path
quando si esegue l'interprete python.
Sto indovinando in qualche modo aggiunto c:\Users\user\django-projects\foo
per qualche percorso di Django lungo lo sviluppo di foo
ma non mi ricordo come ho fatto.
Quindi, con tutto ciò che conducono, la mia domanda è "come faccio a fare sguardo manage.py in c:\Python25\Lib\site-packages
invece di c:\Users\user\django-projects\foo
?"
Grazie,
- Lexo
Soluzione
importazioni manage.py
settings.py dalla directory corrente e passano settings
come parametro execute_manager
. Probabilmente definito radice progetto in settings.py.
Altri suggerimenti
ho riparato, anche se non so quale soluzione ha funzionato. In primo luogo, ho cancellato i file .pyc
dal mio progetto, poi ho reindicizzate mia ricerca di Windows (sto cercando di indovinare questo lo ha fatto). Questo ha cambiato il messaggio di errore nella directory corretta. Dopo di che, ho capito che avevo
from baz import settings
nel mio file foobar/baz/models.py
, che è stato la causa del problema tutti insieme. Ho cambiato questo per
import settings
, che ha risolto il problema. Grazie a Laurent per il vostro aiuto: -)