继续阅读之前,我们假设您熟悉以下知识:
n Python
n Django
n apache
如果不熟悉这些知识点,可以看本文最后资源列表中的文章。
本文讨论了在Windows环境下,将Django配置到Apache Web Server时所遇到的问题,以及最终解决的示范步骤。
您可以遵循后文描述的配置步骤,在此之前,我们先描述两个常见的错误现象。
[常见错误现象1]
关键词: client denied by server configuration。
表象: 访问了http://localhost:80/mysite/ 后,假如发现图片没有加载,或者 Css 没有应用上,并且httpd.conf文件中Location的配置绝对路径肯定没错。
解释:
第一, 首先检查httpd.conf配置Alias的配置,
看看Alias设置的路径是否正确,
Alias /site_media c:/django/myproject/media
请保证您附加的这个路径肯定是你的图片或者css存放的路径。
其次,请检查您的django项目myproject目录下的settings.py,保证MEDIA_ROOT、STATIC_PATH、TEMPLATE_DIRS这三个参数指向的绝对路径正确无误。
最后,如果上面的参数都没错,却还是不行。那么请您检查Apache的日志文件
Apache2.2logserror.log
如果您发现有这样的错误提示:
错误日志
[Mon Nov 20 17:27:08 2006] [notice] Child 4172: Starting thread to listen on port 80.
[Mon Nov 20 17:27:08 2006] [error] [client 127.0.0.1] client denied by server configuration: c:/Django/myproject/media/css/global.css, referer: http://localhost:80/mysite/
那么说明是因为对这些资源文件的访问被拒绝了。
此时,请您浏览 http://localhost:80/site_media/css/global.css ,如果遇到了HTTP 403错误,就说明是权限问题。
此时,请到httpd.conf,增加如下配置来允许静态资源文件夹被访问:
增加的配置行
# 对需要访问的区域,可以增加正确的Directory块
# 否则会得到这样的错误:client denied by server configuration: c:/Django/myproject/media/css/global.css, referer: http:/ /localhost:80/mysite/
<Directory "c:/Django/myproject/media/">
Order Deny,Allow
Allow from all
</Directory>
重启Apache服务。
[常见错误现象2]
关键词: EnvironmentError: Could not import settings。
表象: 访问了http://localhost:80/mysite/ 后,直接页面报告如下错误:
页面错误输出
1. Mod_python error: [PythonHandler django.core.handlers.modpython]
Traceback (most recent call last):
File [C:Python24Libsite-packagesmod_pythonapache.py], line 299, in HandlerDispatch
result = object(req)
File [c:django_srcdjangocorehandlersmodpython.py], line 163, in handler
return ModPythonHandler()(req)
File [c:django_srcdjangocorehandlersmodpython.py], line 125, in __call__
if settings.ENABLE_ photoshop / target=_blank class=infotextkey>ps YCO:
File [c:django_srcdjangoconf__init__.py], line 27, in __getattr__
self._import_settings()
File [c:django_srcdjangoconf__init__.py], line 54, in _import_settings
self._target = Settings(settings_module)
File [c:django_srcdjangoconf__init__.py], line 82, in __init__
raise EnvironmentError, [Could not import settings ‘%s’ (Is it on sys.path? Does it have syntax errors?): %s] % (self.SETTINGS_MODULE, e)
EnvironmentError: Could not import settings ‘myproject.settings’ (Is it on sys.path? Does it have syntax errors?): No module named myproject.settings
这是开始配置django+apache最容易遇到的问题,:D。
解释:
这是因为apache在 系统 目录下找不到myproject/settings.py文件。
《 Windows下Django配置Apache示范设置 》由 第二电脑网 原创提供,转载请注明: http://www.002pc.com/master/College/Server/Apache/18069.html
查看更多关于Windows下Django配置Apache示范设置|配置-Apache教程的详细内容...