【问题标题】:Can not import class from custom django package无法从自定义 django 包中导入类
【发布时间】:2013-08-04 11:32:14
【问题描述】:

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

【问题讨论】:

  • handlers .py 中的空格是错字吗?如果没有,那可能是你的问题。你是如何运行代码的?我没有看到manage.py,所以我假设您是从另一个包中导入的。 myPackage 在你的 sys.path 中吗?
  • 该死!!!文件名中有空格谢谢!
  • @aquavitae 您可以添加您的评论作为答案,因为您似乎发现了问题......

标签: python python-2.7 python-module


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2018-11-28
    • 2015-09-10
    • 2015-01-12
    • 2023-01-31
    相关资源
    最近更新 更多