2010-10-12 55 views
2

所以这里的设置:阿帕奇无法访问Django应用程序

整个网站工作正常,如果我删除了INSTALLED_APPS部分的应用程序(其名称 是MYAPP)在设置文件我加WSGIPythonHome中的Apache2 .conf

我可以通过Django中的交互式python shell(python manage.py shell)成功访问这些应用程序。我可以创建,更新和删除数据。

我使用的是标准的Apache 2安装的Ubuntu 10.04清醒山猫(,MODS的启用,启用站点-apache2.conf等)

我正在位于virtualenv中的/ home/ygamretuta的/ dev/MyProject的

我的Django项目位于在/ home/ygamretuta的/ dev/site1的

错误日志文件说,这(最后2行):

File "/home/ygamretuta/dev/myproject/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module 

TemplateSyntaxError: Caught ImportError while rendering: No module named myapp 

我django.wsgi包含此:

import os, sys 
sys.path.append('/home/ygamretuta/dev') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings' 

import django.core.handlers.wsgi 

application = django.core.handlers.wsgi.WSGIHandler() 

我的虚拟主机site1.com文件(在网站可用文件夹包含)包含本(剥离的其他细节):

WSGIDaemonProcess ygamretuta processes=2 maximum-requests=500 threads=1 
WSGIProcessGroup ygamretuta 
WSGIScriptAlias//home/ygamretuta/dev/site1/apache/django.wsgi 

什么可能我错过了什么?如果自定义应用程序(我使用manage.py startapp创建的应用程序)没有被注释掉,我得到e 500内部服务器错误

回答

6

/home/ygamretuta/dev/site1附加到sys.path

+0

已经在django.wsgi中完成了,如上所述。我必须把它放在其他地方吗? – yretuta 2010-10-12 08:17:58

+0

不,它不是。再看一遍。 – 2010-10-12 08:19:27

+0

如果我用/ site1替换当前一个,它将导致错误无法导入设置'site1.settings',正如谷歌代码对WSGI Django集成所指出的,sys.path.append文件夹参数必须是父项django项目文件夹:“换句话说,它应该是你在'django-admin.py'运行时所在的目录,它也相当于目录的父目录,它包含'settings.py' django-admin.py startproject'。“ – yretuta 2010-10-12 08:30:02