2012-09-25 5 views
4

내가했던 튜토리얼 "http://django-mptt.github.com/django-mptt/tutorial.html"ImportError를 : 이름 MPTTModel 가져올 수 없습니다

하지만 여전히 나에게 가져 오기 오류를주고, 내가 mptt에 존재하는 mptt에 대한 코드를 다시 확인하고 클래스 MPTTMODEL을 발견>의 단계 모델 파일 당신이 시도 할 수

Validating models... 

Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0x1ec4710>> 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/management/commands/runserver.py", line 91, in inner_run 
    self.validate(display_num_errors=True) 
    File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/management/base.py", line 266, in validate 
    num_errors = get_validation_errors(s, app) 
    File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/core/management/validation.py", line 30, in get_validation_errors 
    for (app_name, error) in get_app_errors().items(): 
    File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/db/models/loading.py", line 158, in get_app_errors 
    self._populate() 
    File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/db/models/loading.py", line 67, in _populate 
    self.load_app(app_name) 
    File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/db/models/loading.py", line 88, in load_app 
    models = import_module('.models', app_name) 
    File "/usr/local/lib/python2.7/dist-packages/Django-1.4-py2.7.egg/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/home/kareemhashem/espace/sharek/core/models.py", line 12, in <module> 
    from mptt.models import MPTTModel, TreeForeignKey 
ImportError: cannot import name MPTTModel 
+2

답변을 업데이트하고 Traceback –

+0

이 @ César –

+0

으로 업데이트되었습니다. 최근에이 게시물을 방문한 적이 있다면 아마 내가했던 것처럼 이전 자습서를 따라야 할 것입니다. django CMS 3.1 MPTT가 MP로 대체되었으므로 http://docs.django-cms.org/en/release-3.4.x/upgrade/3.1.html – Luke

답변

6

한 가지 : (파이썬 콘솔을 얻기 위해) python 다음을 입력하십시오 : 콘솔과 종류로 이동 from mptt.models import MPTTModel

를이 당신에게 mptt보다 오류를 제공하는 경우가 제대로되지 않습니다 ...에서 실속.

pip을 사용하는 경우 쉽게 수행 할 수 있습니다 : pip install django-mptt 또는 설치를 업데이트하려면 pip install django-mptt --upgrade을 시도해보십시오. 설치가 실패했을 수 있습니다.

pip 또는 virtualenv를 사용하지 않는 경우 적극 권장합니다. 시작은 약간 힘들지만 설치하는 것이 더 어렵습니다. 1, 2

mptt를 성공적으로 설치했지만 여전히 가져올 수없는 경우 mptt를 배치 한 폴더는 Python에서 액세스 할 수 없을 가능성이 높습니다. 그러므로 mptt가있는 경로를 PYTHONPATH에 추가하십시오. 이 방법은 thread을 참조하십시오.

+0

고맙습니다. 파이썬 콘솔에서 가져 오려고했습니다. "ImportError : 환경 변수 DJANGO_SETTINGS_MODULE이 정의되지 않았기 때문에 설정을 가져올 수 없습니다." –

+0

"python manage.py shell"을 입력하고 다시 가져 오십시오. –

+0

파이썬 셸과 누락 된 DJANGO_SETTINGS_MODULE에 관한 내용은이 글을 참고하십시오 : http://stackoverflow.com/questions/7479493/django-settings-module-is-undefined –