2011-07-21 135 views
3

我正在使用Django,并且我一直收到我的群组应用程序的这个错误,我检查了我所有的导入设置,并且一切正常。我的注册和个人档案应用程序运行平稳,但为什么这个应用程序给我一个模型的ImportError?ImportError:没有模块命名模型?

Traceback (most recent call last): 
    File "manage.py", line 14, in <module> 
    execute_manager(settings) 
    File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 438, in execute_manager 
    utility.execute() 
    File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 379, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 191, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 219, in execute 
    self.validate() 
    File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 249, in validate 
    num_errors = get_validation_errors(s, app) 
    File "/usr/local/lib/python2.6/dist-packages/django/core/management/validation.py", line 36, in get_validation_errors 
    for (app_name, error) in get_app_errors().items(): 
    File "/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py", line 146, in get_app_errors 
    self._populate() 
    File "/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py", line 64, in _populate 
    self.load_app(app_name) 
    File "/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py", line 78, in load_app 
    models = import_module('.models', app_name) 
    File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/home/gladiator/django_projects/classes/groups/models.py", line 6, in <module> 
    from groups.shortcuts import build_filename 
    File "/home/gladiator/django_projects/classes/groups/groups.py", line 5, in <module> 
    File "/home/gladiator/django_projects/classes/groups/decorators.py", line 2, in <module> 
    from groups.models import Group, GroupMember 
ImportError: No module named models 

回答

8

因为它认为你指的是groups.py在同一目录下。 Enable absolute imports

+0

我应该而只是改变groups.py的名字,我有它在一个文件夹视图,因为我有两个观点groups.py和pages.py ? – RubyGladiator

+1

如果你需要支持Python的早期版本,那么你将不得不。 –

+0

谢谢,让我测试一下,看看它是否有效。 – RubyGladiator

0

只是一个猜测,但你的models.py文件导入组或装饰?如果是这样,你有一个循环依赖。您需要将其中一个文件中的导入移动到功能级别。

+4

有问题的循环导入会导致“NameError”,而不是“ImportError”。 –

3

我讨厌同样的问题。解决的办法是那样简单

from __future__ import absolute_import 

hinted通过Ignacio

+0

非常低估的答案。 – elky

相关问题