好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Windows下Django配置Apache示范设置|配置-Apache教程

继续阅读之前,我们假设您熟悉以下知识:

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教程的详细内容...

  阅读:59次