django 1.4、python2.6.6。
私はアプリ「ジョブ」を持っています。
私のファイルツリー:
djproject/
|-- djproject
| |-- db
| | `-- tdata.db
| |-- __init__.py
| |-- __init__.pyc
| |-- jobs
| | |-- admin.py
| | |-- admin.pyc
| | |-- __init__.py
| | |-- __init__.pyc
| | |-- models.py
| | |-- models.pyc
| | |-- tests.py
| | `-- views.py
| |-- settings.py
| |-- settings.pyc
| |-- urls.py
| |-- urls.pyc
| |-- wsgi.py
| `-- wsgi.pyc
`-- manage.py
私のmanage.pyファイル:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djproject.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
次に、ファイル「manage.py」と同じレベルのフォルダーである「pythonmanage.pyshell」を実行します。
次に、「fromjobs.modelsimportJob」と入力します。
次のようなエラー(相対パス):
>>> from jobs.models import Job
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named jobs.models
しかし、フルパスを使用する場合
>>> from djproject.jobs.models import Job
エラーが消える、なぜですか?