在Django中使用mod_python运行应用程序时出错
我在使用win32系统,安装了python2.5、django1.2、apache2.2,还有mod_python3.3.1。
我已经正确安装了mod_python。我的应用程序名称是myapp.setting,路径是c:\myapp.setting。在myapp.settings文件夹里,有我的url.py、settings.py等文件。
现在在apache的httpd.conf配置文件中,我做了以下更改:
<Location "/mysite">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE myapp.settings
PythonDebug On
PythonPath "['/'] + sys.path"
</Location>
我尝试了很多关于PythonPath的修改。但是当我在浏览器里输入http://localhost/mysite时,出现了以下错误:
MOD_PYTHON错误
ProcessId: 1384
Interpreter: '192.168.1.166'
ServerName: '192.168.1.166'
DocumentRoot: 'C:/Program Files/Apache Software Foundation/Apache2.2/htdocs'
URI: '/mysite'
Location: '/mysite'
Directory: None
Filename: 'C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/mysite'
PathInfo: ''
Phase: 'PythonHandler'
Handler: 'django.core.handlers.modpython'
Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)
File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 1229, in _process_target
result = _execute_target(config, req, object, arg)
File "C:\Python25\Lib\site-packages\mod_python\importer.py", line 1128, in _execute_target
result = object(arg)
File "C:\Python25\Lib\site-packages\django\core\handlers\modpython.py", line 228, in handler
return ModPythonHandler()(req)
File "C:\Python25\Lib\site-packages\django\core\handlers\modpython.py", line 191, in __call__
self.load_middleware()
File "C:\Python25\Lib\site-packages\django\core\handlers\base.py", line 33, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "C:\Python25\Lib\site-packages\django\utils\functional.py", line 276, in __getattr__
self._setup()
File "C:\Python25\Lib\site-packages\django\conf\__init__.py", line 40, in _setup
self._wrapped = Settings(settings_module)
File "C:\Python25\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 'myapp.settings' (Is it on sys.path? Does it have syntax errors?): No module named myapp.settings
请帮帮我,我对Django还很陌生……
1 个回答
2
正如rebus在评论中所说,把你的项目叫做'myapp.settings'是没有意义的。这既不是一个应用程序(应用程序是网站的一个组成部分),也不是一个设置文件。给它起个合适的名字吧——如果你实在想不出来,可以叫它'mysite'。
最后,你应该避免使用mod_python,改用mod_wsgi。