2010-10-12 71 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