2013-08-03 2 views
0

맞춤 Django 모듈을 작성하고 있는데 잘못된 것 같습니다. 특정 파일에있는 클래스를 가져올 수 없습니다. 오류가 발생합니다.맞춤 django 패키지에서 클래스를 가져올 수 없습니다.

ValueError: Unable to configure handler 'admins': Cannot resolve 'myPackage.handlers.MyHandlerClass': No module named handlers 

이것은 디렉토리 구조입니다. 뷰와 모델을 아무 문제없이 가져올 수 있다고 생각합니다.

myPackage 
├── CHANGELOG.rst 
├── myPackage 
│   ├── handlers .py 
│   ├── __init__.py 
│   ├── __init__.pyc 
│   ├── migrations 
│   │   ├── 0001_initial.py 
│   │   ├── 0001_initial.pyc 
│   │   ├── __init__.py 
│   │   └── __init__.pyc 
│   ├── models.py 
│   ├── models.pyc 
│   ├── tests.py 
│   ├── views.py 
│   └── views.pyc 
├── myPackage.egg-info 
│   ├── dependency_links.txt 
│   ├── PKG-INFO 
│   ├── requires.txt 
│   ├── SOURCES.txt 
│   └── top_level.txt 
├── MANIFEST.in 
├── README.rst 
├── requirements.txt 
└── setup.py 
+0

'처리기 .py '의 공간이 오타입니까? 그렇지 않은 경우 문제가 될 수 있습니다. 코드를 어떻게 실행하고 있습니까? 'manage.py'가 보이지 않으므로 다른 패키지에서 가져 오는 것으로 가정합니다. 'sys.path'에'myPackage'가 있습니까? – aquavitae

+0

DAMN !!! 파일 이름에 공백이있었습니다! – Alex

+0

@aquavitae 문제를 발견 한 것 같아서 답글로 의견을 추가 할 수 있습니다 ... –

답변

2

handlers .py의 파일 이름에 공백이있다, 그래서 파이썬은 모듈 이름 handlers를 찾을 수 없습니다. 분명히 가장 쉬운 해결 방법은 파일 이름을 수정하는 것이지만 실제로 파일 이름에 공백을 넣으려는 사람에게는 import name with spaces이 구문 오류이므로 이러한 이름을 가져 오는 유일한 방법은 __import__입니다. 그러나 이것은 정말로 나쁜 생각입니다.