2011-01-26 82 views
0

我正在Django上開發應用程序,並準備轉移到部署服務器。我能夠在apache上運行一個新的django項目(我可以看到歡迎頁面)。 但是,當我將原始項目的文件複製到apache項目目錄時,我開始出現錯誤。這裏是一個來自apache/error.log的示例。Django:從開發服務器轉向部署(Apache + mod_wsgi)

[Wed Jan 26 19:22:08 2011] [error] [client 127.0.0.1] TemplateSyntaxError: Caught  ImportError while rendering: No module named charts 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1] mod_wsgi (pid=4670): Exception occurred processing WSGI script '/srv/www/enpass/apache/django.wsgi'. 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1] Traceback (most recent call last): 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1] File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/wsgi.py", line 241, in __call__ 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1]  response = self.get_response(request) 
[Wed Jan 26 19:22:36 2011] [error] [client 127.0.0.1] File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py", line 141, in get_response 

我django.wsgi文件看起來像

import os 
import sys 

path = '/srv/www' 
if path not in sys.path: 
    sys.path.insert(0, '/srv/www') 

os.environ['DJANGO_SETTINGS_MODULE'] = 'enpass.settings' 

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

我已經改變了在文件中的所有路徑,以適應新的目錄結構,所以我敢肯定那不是問題。 FIY,我也跟着..

在本教程中http://blog.stannard.net.au/2010/12/11/installing-django-with-apache-and-mod_wsgi-on-ubuntu-10-04/

回答

1

我想出了自己。我們需要將項目目錄路徑添加到sys.path。以下代碼解決了django.wsgi中的問題

path = '/srv/www/enpass' 
if path not in sys.path: 
    sys.path.append(path) 
0

看起來你缺少圖表模塊給出的步驟安裝PIP

sudo easy_install pip 

列表包

pip freeze 

做同樣的在開發機器上查找圖表模塊,然後將其安裝在生產服務器上,並使用

sudo pip install <packagename> 
+0

圖表已安裝。事實上,它在我運行開發服務器時起作用。 – Neo 2011-01-26 14:27:02

相關問題