Django错误:ImportError无法导入名称models
我在开发的时候没有遇到这个问题,但当我把项目部署到CentOS 6上的Apache 2.2时,总是出现这个错误:
ImportError at /
no module named models
Request Method: GET
Django Version: 1.6.5
Exception Type: ImportError
Exception Value:
cannot import name models
Exception Location: /var/www/quiz_app/proj/builder/views/my_quizzes.py in <module>, line 5
Python Executable: /usr/bin/python
Python Version: 2.6.6
Python Path:
['/var/www/quiz_app/proj/builder',
'/var/www/quiz_app/proj',
'/usr/lib/python2.6/site-packages/setuptools-5.3-py2.6.egg',
'/usr/lib/python2.6/site-packages/pip-1.5.6-py2.6.egg',
'/usr/lib64/python26.zip',
'/usr/lib64/python2.6',
'/usr/lib64/python2.6/plat-linux2',
'/usr/lib64/python2.6/lib-tk',
'/usr/lib64/python2.6/lib-old',
'/usr/lib64/python2.6/lib-dynload',
'/usr/lib64/python2.6/site-packages',
'/usr/lib/python2.6/site-packages']
我使用的是Django 1.6.5和Python 2.6,我真的卡在这里了,任何帮助都非常感谢!如果你需要更多信息,请告诉我。
出错的文件是一个叫做my_quizzes.py的视图文件。
from django.contrib.auth.decorators import login_required
from django.http import HttpResponseRedirect, HttpResponse, HttpResponseNotFound
from django.shortcuts import render
from builder import models as b
我的httpd.conf文件看起来是这样的:
WSGIScriptAlias / /var/www/quiz_app/proj/quiz/wsgi.py
WSGIPythonPath /var/www/quiz_app/proj/
<Directory /var/www/quiz_app/proj/\>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
settings.py中的已安装应用程序看起来是:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'homepage',
'administration',
'exam',
'builder',
)
如果对大家有帮助,这里是相关的树形结构:
|proj
|-builder
|-__init__.py
|-models.py
|-views
|-__init__.py
|-my_quizzes.py (this is where the import error is occurring)
1 个回答
1
结果发现我的问题纯粹是路径的问题。我现在还不太明白为什么,如果有人想补充更多细节,我很乐意在这里添加。
我在一个文件夹里的视图中尝试导入应用的模型文件。这个应用叫做 builder。所以当我用 form builder import models as b 的时候,出现了导入错误。为了解决这个问题,我把它改成了 from .. import models as b。
奇怪的是,我可以简单地用 from administration import models as a 导入其他应用的模型(它们的文件结构是一样的)。但是在这个应用内部的视图却不能直接导入模型文件。
感谢所有试图帮助我的人!Graham 的评论让我找到了正确的方向,弄清楚了这里发生了什么。