من أين يحصل Django Dev Server (Manage.py Runserver) على طريقه؟
-
25-09-2019 - |
سؤال
لقد قمت مؤخرًا بنقل تطبيق Django من c:\Users\user\django-projects\foo\foobar
ل c:\Python25\Lib\site-packages\foo\foobar
(وهو على مسار بيثون). لقد بدأت تطبيق جديد في django-projects
الدليل ، وأضاف foo.foobar
إلى INSTALLED_APPS
إعداد. عندما أحاول تشغيل خادم DEV (manage.py runserver
) لتطبيقي الجديد ، أحصل على الخطأ ImportError: No module named foobar
.
تبحث من خلال التتبع ، إنها تبحث في c:\Users\user\django-projects\foo\..\foo\foobar
ل foobar
برنامج. راجعت بلدي PATH
و PYTHONPATH
متغيرات البيئة ، ولا تشير إلى c:\Users\user\django-projects\foo
ولا تظهر في sys.path
عندما أقوم بتشغيل مترجم بيثون.
أظن أنني أضفت بطريقة ما c:\Users\user\django-projects\foo
إلى مسار Django في وقت ما على طول تطور foo
لكني لا أتذكر كيف فعلت ذلك.
لذا ، مع كل ما يؤدي ، سؤالي هو "كيف يمكنني جعل إدارة. c:\Python25\Lib\site-packages
بدلاً من c:\Users\user\django-projects\foo
?"
شكرًا،
- ليكسو
المحلول
manage.py
يستورد الإعدادات settings
كمعلمة ل execute_manager
. من المحتمل أنك حددت جذر المشروع في الإعدادات.
نصائح أخرى
لقد أصلحته ، على الرغم من أنني لا أعرف الحل الذي نجح. أولا ، لقد حذفت .pyc
الملفات من مشروعي ، ثم قمت بتوضيح بحث Windows الخاص بي (أعتقد أن هذا فعل ذلك). هذا غير رسالة الخطأ إلى الدليل الصحيح. بعد ذلك ، أدركت أن لدي
from baz import settings
في foobar/baz/models.py
ملف ، الذي كان يسبب المشكلة طوال الوقت. لقد غيرت هذا إلى
import settings
التي حددت المشكلة. بفضل لوران على كل مساعدتك :-)