无法从自定义django包导入类

时间:2013-08-03 05:40:18

标签: python python-2.7 python-module

我正在编写一个自定义的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

1 个答案:

答案 0 :(得分:2)

handlers .py的文件名中有一个空格,因此python找不到模块名handlers。显然,最简单的修复方法是更正文件名,但对于任何实际需要文件名空间的人来说,import name with spaces是语法错误,因此导入此类名称的唯一方法是使用__import__。但这确实是一个非常糟糕的主意。