デフォルトの場所にある models.py モジュールに 2 つのモデル クラスがあります。
PythonFinal
|_ manage.py
|_ template
|_ PythonFinal
| |_ __init__.py
| |_ settings.py
| |_ urls.py
| |_ swgi.py
|
|
|___ fertility
|_ __init__.py
|_ models.py
|_ tests.py
|_ views.py
|_ dateUtils.py
クラスをdateUtils.pyにインポートしたいだけです
from fertility.models import Cycle, Period
if __name__ == '__main__':
p1 = Period(periodFirstDay='2012-7-26' , periodNumber=4)
このモジュールを実行すると、
ImportError: no module named fertility
Python コマンドラインからモデルをインポートしようとすると、
import models
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "models.py", line 1, in <module>
from django.db import models
File "/usr/local/lib/python2.6/dist-packages/django/db/__init__.py", line 11, in <module>
if DEFAULT_DB_ALIAS not in settings.DATABASES:
File "/usr/local/lib/python2.6/dist-packages/django/utils/functional.py", line 184, in inner
self._setup()
File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 40, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
プロジェクトのルート フォルダーを ~/.bashrc の PYTHONPATH に追加しました。私の wsgi.py 読み取り
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "PythonFinal.settings")
NamingError の代わりに ImportError を取得するため、循環インポートではないと思います。また、まだ多くのインポートを行っていません。明らかな理由から、モデルを単体テストできる他のモジュールにインポートできるようにする必要があるか、同じことを達成する別の単純なワークフローが必要です。