2013-08-03 13 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

'handlers .py'中的空格是否爲錯字?如果不是,那可能是你的問題。你如何運行代碼?我沒有看到'manage.py',所以我假設你從另一個包中導入。你的'sys.path'中有'myPackage'嗎? – aquavitae

+0

DAMN !!!文件名中有一個空格,謝謝! – Alex

+0

@aquavitae你可以添加你的評論作爲答案,因爲它似乎你發現問題... –

回答

2

有一個在handlers .py的文件名的空間,所以Python不能找到一個模塊名稱handlers。顯然,最簡單的修復方法是更正文件名,但對於實際需要文件名空間的人,import name with spaces是語法錯誤,因此導入此名稱的唯一方法是使用__import__。但這實在是一個非常糟糕的主意。