Où serveur django dev (manage.py runserver) obtenir son chemin à partir?
-
25-09-2019 - |
Question
I a récemment proposé une application django de c:\Users\user\django-projects\foo\foobar
à c:\Python25\Lib\site-packages\foo\foobar
(qui se trouve sur le chemin de python). J'ai commencé une nouvelle application dans le répertoire django-projects
et ajouté foo.foobar
au réglage de INSTALLED_APPS
. Lorsque je tente de lancer le serveur dev (manage.py runserver
) pour ma nouvelle application, je reçois le ImportError: No module named foobar
d'erreur.
En regardant à travers le retraçage, il cherche dans le c:\Users\user\django-projects\foo\..\foo\foobar
pour l'application foobar
. J'ai vérifié mon PATH
et les variables d'environnement PYTHONPATH
, ni le point de c:\Users\user\django-projects\foo
et il ne montre pas dans sys.path
quand je lance l'interpréteur python.
Je devine que je c:\Users\user\django-projects\foo
en quelque sorte ajouté au chemin de django quelque temps le long du développement de foo
mais je ne me souviens pas comment je l'ai fait.
Alors, avec tout ce qui mènent, ma question est « comment puis-je faire paraître dans manage.py c:\Python25\Lib\site-packages
au lieu de c:\Users\user\django-projects\foo
? »
Merci,
- Lexo
La solution
Les importations de manage.py
settings.py du répertoire courant et passer settings
comme paramètre à execute_manager
. Vous avez probablement défini racine du projet dans settings.py.
Autres conseils
Je l'ai fixé, bien que je ne sais pas quelle solution a fonctionné. Tout d'abord, je supprimé les fichiers .pyc
de mon projet, je réindexer ma recherche de Windows (je devine ce qu'il a fait). Cela a changé le message d'erreur dans le répertoire approprié. Après quoi, je réalise que j'avais
from baz import settings
dans mon fichier foobar/baz/models.py
, ce qui était à l'origine du problème tout au long. J'ai changé cela
import settings
qui fixe le problème. Merci à Laurent pour votre aide: -)