早上起來(lái)開(kāi)始到現(xiàn)在搗鼓成功,花費(fèi)5個(gè)小時(shí),步驟如下:
1、下載apache2.2,并安裝,測(cè)試http://127.0.0.1/,看到It works!
2、下載安裝django。由于已經(jīng)使用著django,因此這一步就略過(guò)了。
3、從http://apache.mirrors.hoobly.com/httpd/modpython/win/3.3.0b/下載mod_python。注意下載的版本和已經(jīng)安裝的python版本相符。
4、修改apache的配置文件httpd.conf,在加載module部分添加一行
LoadModule python_module modules/mod_python.so
5、可以測(cè)試一下mod_python是否運(yùn)行正常。
方法:修改httpd.conf,在最后添加
<Location /mpinfo>
SetHandler mod_python
PythonHandler mod_python.testhandler
</Location>
啟動(dòng)apache,測(cè)試http://127.0.0.1/mpinfo是否看到配置信息。
6、創(chuàng)建一個(gè)django project,路徑為j:\django,名字mysite,使用django的方法運(yùn)行server先測(cè)試一下是否正常。
7、關(guān)鍵一步了。
在httpd.conf文件中添加:
#<Location "/mysite/">
# SetHandler python-program
# PythonPath "['j:\django'] + sys.path"
# PythonHandler django.core.handlers.modpython
# SetEnv DJANGO_SETTINGS_MODULE mysite.settings_apache
# PythonDebug On
#</Location>
#
#<Location "/media/">
# SetHandler None
#</Location>
#
#<LocationMatch "\.(jpg|gif|png)$">
# SetHandler None
#</LocationMatch>
當(dāng)然要去掉“#”。注意紅字部分,應(yīng)該是包含創(chuàng)建的project的目錄,不含project。如果設(shè)置成j:\django\mysite,會(huì)導(dǎo)致apache找不到mysite.settings_apache配置文件。同時(shí)settings_apache后面沒(méi)有“.py”。
由于設(shè)置的配置文件為settings_apache,因此需要復(fù)制settings.py to settings_apache.py一份。
如果settings_apache.py中使用的有相對(duì)路徑,需要修改為絕對(duì)路徑,主要注意DATABASE_NAME、MEDIA_ROOT、TEMPLATE_DIRS、STATIC_PATH(好像不改為絕對(duì)路徑也可)。
如果你不想每次重啟 Apache 來(lái)進(jìn)行測(cè)試,可以將:
MaxRequestsPerChild 0 改為: MaxRequestsPerChild 1
基本完成了,然后就是測(cè)試http://127.0.0.1/mysite/
9、其他:可能還需要修改urls.py中的路徑匹配設(shè)置,將mysite加在各個(gè)匹配項(xiàng)前。 如 (r'^address/', include('mysite.address.urls')),
改為
(r'^mysite/address/', include('mysite.address.urls')),
參考資料:
1、Django Step by Step (十二) by limodou
2、HOWTO: Django on Windows
3、mod_python document
1、下載apache2.2,并安裝,測(cè)試http://127.0.0.1/,看到It works!
2、下載安裝django。由于已經(jīng)使用著django,因此這一步就略過(guò)了。
3、從http://apache.mirrors.hoobly.com/httpd/modpython/win/3.3.0b/下載mod_python。注意下載的版本和已經(jīng)安裝的python版本相符。
4、修改apache的配置文件httpd.conf,在加載module部分添加一行
LoadModule python_module modules/mod_python.so
5、可以測(cè)試一下mod_python是否運(yùn)行正常。
方法:修改httpd.conf,在最后添加
<Location /mpinfo>
SetHandler mod_python
PythonHandler mod_python.testhandler
</Location>
啟動(dòng)apache,測(cè)試http://127.0.0.1/mpinfo是否看到配置信息。
6、創(chuàng)建一個(gè)django project,路徑為j:\django,名字mysite,使用django的方法運(yùn)行server先測(cè)試一下是否正常。
7、關(guān)鍵一步了。
在httpd.conf文件中添加:
#<Location "/mysite/">
# SetHandler python-program
# PythonPath "['j:\django'] + sys.path"
# PythonHandler django.core.handlers.modpython
# SetEnv DJANGO_SETTINGS_MODULE mysite.settings_apache
# PythonDebug On
#</Location>
#
#<Location "/media/">
# SetHandler None
#</Location>
#
#<LocationMatch "\.(jpg|gif|png)$">
# SetHandler None
#</LocationMatch>
當(dāng)然要去掉“#”。注意紅字部分,應(yīng)該是包含創(chuàng)建的project的目錄,不含project。如果設(shè)置成j:\django\mysite,會(huì)導(dǎo)致apache找不到mysite.settings_apache配置文件。同時(shí)settings_apache后面沒(méi)有“.py”。
由于設(shè)置的配置文件為settings_apache,因此需要復(fù)制settings.py to settings_apache.py一份。
如果settings_apache.py中使用的有相對(duì)路徑,需要修改為絕對(duì)路徑,主要注意DATABASE_NAME、MEDIA_ROOT、TEMPLATE_DIRS、STATIC_PATH(好像不改為絕對(duì)路徑也可)。
如果你不想每次重啟 Apache 來(lái)進(jìn)行測(cè)試,可以將:
MaxRequestsPerChild 0 改為: MaxRequestsPerChild 1
基本完成了,然后就是測(cè)試http://127.0.0.1/mysite/
9、其他:可能還需要修改urls.py中的路徑匹配設(shè)置,將mysite加在各個(gè)匹配項(xiàng)前。 如 (r'^address/', include('mysite.address.urls')),
改為
(r'^mysite/address/', include('mysite.address.urls')),
參考資料:
1、Django Step by Step (十二) by limodou
2、HOWTO: Django on Windows
3、mod_python document