|
- 基本步骤
下载安装Apache http://httpd.apache.org/download.cgi。
下载安装modwsgi 模块http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2
放入"Apache2.2\modules"路径里。
配置 Apache httpd.conf 文件: 添加配置文件路径到文件里
LoadModule wsgi_module modules/mod_wsgi-win32-ap22py27-3.3.so
配置wsgi 文件:
WSGIScriptAlias / "C:/Aptana Studio 3 Workspace/MyProjet/mysite/src/mysite/wsgi.py" (wsgi文件路径,即需要Apache加载的Django项目的wsgi文件路径)
WSGIPythonPath "C:/Aptana Studio 3 Workspace/MyProjet/mysite/src"(wsgi文件夹路径)
文件夹权限:
Options None
AllowOverride None
Order allow,deny
Allow from all
Order deny,allow
Allow from all
Admin 静态文件加载:
Alias "/static" "C:/Python27/Lib/site-packages/django/contrib/admin/static/"
Options None
AllowOverride None
Order allow,deny
Allow from all
- 问题分析与调试:
由于Django在配置到apache服务器上的时候,官方网站并不建议把静态文件的加载工作拿给Django去做,而是交给服务器去完成。所以直接配置Django到服务器上之后会遇到css样式无法加载的问题。
在配置Django 到Apache 服务器上的时候,由于只是从网上生搬硬套,没有去认真分析Apache的语法和配置原理,导致一直出错。所有静态文件(css,js库,img)都参照此配置方法配置。
下面以加载admin的CSS样式为例:
Alias 语法
:
参考:http://apache.jz123.cn/mod/mod_alias.html#alias
Alisa 第一个参数是访问网站的URL路径
,比如如下配置:
Alias "/static" "C:/Python27/Lib/site-packages/django/contrib/admin/static/"
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
此处URL的根目录不是访问网站的根目录(例如127.0.0.1),而是访问页面的相对目录
比如:访问127.0.0.1/admin加载页面
此处URL根目录是映射当前页面相对路径根目录,所以"/static"映射的是 "C:/Python27/Lib/site-packages/django/contrib/admin/static/"
配置到此处之后访问仍然会有"403 Forbidden"的错误,原来是对RUL根目录权限设置问题:
Order allow,deny
Deny from All
改成:
Order allow,deny
Allow from All
OK了
Django - syncdb causes error: "DatabaseError: no such table: django_site"
solution:
http://stackoverflow.com/questions/3631556/django-no-such-table-django-session
总结这次调试:解决问题不能急于求成,简单粗暴的方法可能只会欲速则不达。 |
|
|