Python 使用mod_wsgi设置Django1.1.4
我在Django 1.1.4中有一个项目,我正在尝试使用mod_wsgi在生产中设置该项目,但我遇到了一些错误: 我的wsgi文件代码:Python 使用mod_wsgi设置Django1.1.4,python,django,mod-wsgi,Python,Django,Mod Wsgi,我在Django 1.1.4中有一个项目,我正在尝试使用mod_wsgi在生产中设置该项目,但我遇到了一些错误: 我的wsgi文件代码: import os import sys import site # Add the site-packages of the chosen virtualenv to work with site.addsitedir('path_to_\site-packages') # Add the app's directory to the PYTHONPAT
import os
import sys
import site
# Add the site-packages of the chosen virtualenv to work with
site.addsitedir('path_to_\site-packages')
# Add the app's directory to the PYTHONPATH
sys.path.append('path_to_dir')
sys.path.append('path_to_dir')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我试图调试错误,比如当我在我的设置中打印某些内容时,它没有得到打印,所以我猜我的设置没有被调用
我的wsgi和设置文件处于同一级别,我使用了两种方式提及wsgi文件中的设置,如os.environ['DJANGO\u settings\u MODULE']='settings'
和os.environ['DJANGO\u settings\u MODULE']='project.settings'
。
错误-日志:
File "C:\\Python27\\lib\\site-packages\\django\\core\\handlers\\wsgi.py", line 230, in __call__
self.load_middleware()
File "C:\\Python27\\lib\\site-packages\\django\\core\\handlers\\base.py", line 33, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "C:\\Python27\\lib\\site-packages\\django\\utils\\functional.py", line 272, in __getattr__
self._setup()
File "C:\\Python27\\lib\\site-packages\\django\\conf\\__init__.py", line 40, in _setup
self._wrapped = Settings(settings_module)
File "C:\\Python27\\lib\\site-packages\\django\\conf\\__init__.py", line 75, in __init__
raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'cbc_website.settings' (Is it on sys.path? Does it have syntax errors?): No module named cbc_website.settings
您是否已尝试导入
您的项目名称.设置
,而不是仅导入设置
这就是我记得所做的,也是在注释中提供的链接中指定的。Python将路径定义中的“\”解释为转义字符 使用反斜杠指定文字路径时,请使用
r'path'
。因此,不是:
sys.path.append('C:\\\something')
您可以指定:
sys.path.append(r'C:\\\something')
在您的
wsgi.py
文件中。您确定是指Django 1.1.4吗?因为1.7是当前版本。@omeinusch是的,我确定。这是一个有几年历史的网站。因此正在使用django 1.1.4。请尝试将使用sys.path.append添加的相同目录添加到shell路径,并检查是否可以从该shell生成的Python解释器导入设置文件。打开Python解释器,然后尝试以下操作:import sys;sys.path.append('path_to_dir');导入设置
。其中,path_to_dir'与您在
wsgi.py`文件中使用的路径相同。yes是have,我在问题中已经提到了这一点,我已经尝试了设置和project.settings