首先去下载mod_wsgi.so,这是个apache模块,有了它apache就能识别python了。把它下载在$apache/modules里(里面应该有很多.so文件)。
——————以下是代码编辑阶段——————
首先要创建个wsgi文件,让apache识别,在$root_dir下创建index.wsgi
#index.wsgi
import sys, os
sys.path.insert(0,abspath(dirname(__file__)))
from epidd import wsgi
sys.stdout = sys.stderr
application = wsgi.application
按理下面那句话是不需要的,因为在调试的时候根目录应该早就添加到sys.path中的,不过如果这句话不写,apache竟然不知道这个目录,所以只能写了。
sys.path.insert(0,abspath(dirname(__file__)))
然后编辑apache的配置文件,在$apache/conf/hppd.conf,用记事本打开
添加如下代码(添加位置理论上无所谓,但是为了好看你可以分别在它希望你添加的地方添加,如果要偷懒 就在大量出现LoadModule xxx那段的后面)
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / "$root_dir/index.wsgi"
WSGIPythonPath "$root_dir"
ServerName localhost
DocumentRoot "$root_dir"
<Directory "$root_dir/static">
Order Deny,Allow
Allow From all
</Directory>
Alias /static/admin/ C:/Python27/Lib/site-packages/django/contrib/admin/media
<Directory "C:/Python27/Lib/site-packages/django/contrib/admin/media">
Order Deny,Allow
Allow from all
</Directory>
Alias /static/ "$root_dir/static/"
<Directory "/static/">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>
如果ServerName 和DocumentRoot已经有了,那么可以直接更改后面的内容,注意不要重复出现这两个命令
注意将$root_dir改成实际项目的目录
笔者python目录是C:/python27,请根据自己的实际更改。
Alias /static/admin/命令和Alias /static/ 命令不能颠倒位置,否则前面那个命令会失效,导致进入django自带后台不能显示样式
static是笔者的静态目录($root_dir/static),可以根据实际情况(比如media)
————————以下是笔者碰到的问题————————
**os.path.join(BASE_DIR,'template'),**
'template',)
笔者做了这些后 网站就能正常显示了,有问题可以继续讨论
(APACHE2.2是安装版,所以可能有些设置在装的时候就搞定了,如果不是安装版,可能还需要琢磨琢磨)
对了,如果apache看上去运行了,但没有具体的项目的话,是因为没有加添服务
管理员运行 $apache/httpd.exe -k install 就行了,或者如果急着想看效果,直接双击httpd就行
出现什么问题可以看$apache/logs/中的error.log文件查看错误具体内容