为什么我的Django应用程序不能与Apache/mod_python一起工作?
我有Apache安装程序来处理来自以下目录的请求: /var/www/html/www.mysite.com Django网站位于/var/www/html/www.mysite.com/mysite 我在请求/mysite/app/foo时遇到此错误: (大堆栈跟踪) AttributeError:“模块”对象没有属性“公用” “myapp.common”是settings.py文件中安装的_apps中所有django应用程序(例如“django.contrib.admin”)之后列出的第一项。如果我更改所列模块的顺序,Django将阻塞它遇到的某个应用程序的第一条路径 Python导入路径似乎是正确的,因为它正在查找mysite.settings: <Location "/mysite/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonOption django.root /mysite PythonDebug On PythonPath "['/var/www/html/www.mysite.com'] + sys.path" </Location> SetHandler python程序 PythonHandler django.core.handlers.modpython SetEnv DJANGO_设置_模块mysite.SETTINGS PythonOption django.root/mysite 蟒蛇 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.contrib.admin”, “django.contrib.auth”, “django.contrib.contenttypes”, “django.contrib.sessions”, “django.contrib.sites”, “mysite.common”, ....为什么我的Django应用程序不能与Apache/mod_python一起工作?,django,apache,mod-python,Django,Apache,Mod Python,我有Apache安装程序来处理来自以下目录的请求: /var/www/html/www.mysite.com Django网站位于/var/www/html/www.mysite.com/mysite 我在请求/mysite/app/foo时遇到此错误: (大堆栈跟踪) AttributeError:“模块”对象没有属性“公用” “myapp.common”是settings.py文件中安装的_apps中所有django应用程序(例如“django.contrib.admin”)之后列出的第一项
这是Django bug还是我有什么配置错误?可能需要向导入路径添加一些外部依赖项?Django开发服务器可以正常工作。您的
mysite
目录是否包含\uu init\uuuuuuuuuupy
文件?它应该是存储在mysite.common
e> /var/www/html/www.mysite.com/mysite/common?如果是这样,请尝试在已安装的应用程序中使用common
,而不是mysite.common
,我猜你是故意模糊了你的实际模块名,这很好……但我在命名我的Django站点(在你的例子中是mysite)时出现了这个错误与sys.path中其他位置存在的Python模块同名
例如,如果您创建了一个名为math的Django站点,其中包含一个名为common的应用程序,则会出现此错误,因为Python系统数学模块不包含名为common的属性或子模块
您必须重命名Django站点,以避免与其他模块名称冲突