0
改變的sys.path在Django測試項目settings.py
我最近嘗試把這個在:settings.py中
try:
import mymodule
except:
import sys
TESTPROJ_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
PROJ_PARENT = os.path.abspath(os.path.join(TESTPROJ_ROOT, '..'))
sys.path.append(PROJ_PARENT)
的目的是,如果mymodule
沒有安裝在環境中添加本地項目路徑。爲了幫助理解,目錄結構如下:
base/mymodule
base/test_project/manage.py
base/test_project/test_project/settings.py
這個工作,只要mymodule
是不是在環境中。只要import mymodule
被執行(在任何地方settings.py
),我得到了錯誤:
django.core.exceptions.ImproperlyConfigured: ImportError django.contrib.admin: cannot import name signals
我有兩個問題...
一)有沒有辦法來阻止這種情況發生的錯誤?
b)是有另一種「智能」的方式,讓settings.py
改變路徑,以允許,如果它不能在環境中包括本地的模塊?
在此先感謝。