我有 Apache 设置来服务来自该目录的http://www.mysite.com请求:
/var/www/html/www.mysite.com
Django 站点位于 /var/www/html/www.mysite.com/mysite。
当我向 /mysite/app/foo 发出请求时出现此错误:
(大堆栈跟踪)AttributeError:'module'对象没有属性'common'
'myapp.common' 是settings.py 文件中 INSTALLED_APPS 中所有 django 应用程序(例如 'django.contrib.admin')之后列出的第一项。如果我更改列出的模块的顺序,Django 会在它遇到的我的一个应用程序的第一个路径上阻塞。
Python 导入路径似乎是正确的,因为它找到了 mysite.settings:
<位置“/mysite/”> SetHandler python 程序 PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonOption django.root /mysite Python调试开启 PythonPath "['/var/www/html/www.mysite.com'] + sys.path" </位置>
可能是什么问题呢?奇怪的是,当实际列表包含“mysite.common”时,它却在抱怨“common”:
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'mysite.common', ……
这是 Django 错误还是我配置错误?也许需要将一些外部依赖项添加到导入路径中?它适用于 Django 开发服务器。