装Python,装django (解压到Python安装目录,从cmd窗口进入django目录,输入python setup.py install),也可以再去下svn升级,详情http://www.djangoproject.com
Apache版本:apache_2.2.4-win32-x86-no_ssl.msi 下载地址:http://httpd.apache.org/
ModPython:mod_python-3.3.1.win32-py2.5-Apache2.2.exe 下载地址:http://www.apache.org/dist/httpd/modpython/win
依次安装上面两个东西,全部默认设置即可。
对于Apache,可安装到磁盘下较近的一个路径,如:c:\apache 以便日后修改配置时方便打开。
对于ModPython,它将使Apache支持django的运行,安装将近尾声时会提示选择Apache的安装目录,目的是为您配置httpd.conf,如果选错了也没有关系,可以在下面的配置中手动操作。
以下段落将参考(http://www.cnblogs.com/zhengyun_ustc/archive/2006/11/20/django_apache_win32.html http://thinkhole.org/wp/2006/04/03/django-on-windows-howto/)完成。
为了方便说明,用我的一个问卷调查为例:下载
先说明一下两个命名:
wenjuan: my project (django-admin.py statrproject wenjuan)
inves: a app in my project (wenjuan/django-admin.py startapp inves)
models.py 里面Subject是问卷主题(first是第一题的题号),Question是问题(number是手动设的题号,为了根据选项跳转方便),Answer是选项(next是选了这个选项后跳到下一题的题号)
为了和参考的那篇接近,可以将例程下载放在c:\django\下,这样就如 c:\django\wenjuan\inves
第一步我们来改一下wenjuan中的settings.py,首先配置好
DATABASE_ENGINE = ‘mysql’
DATABASE_NAME = ‘yourdatebase’
DATABASE_USER = ”
DATABASE_PASSWORD = ”
DATABASE_HOST = ”
DATABASE_PORT = ”
然后manage.py syncdb(也可以先用manage.py sqlall inves来看一下表的结构),
此后可用manage.py runserver打开调试服务器,进入:http://127.0.0.1:8000/admin/ 去填一些测试数据。然后访问:http://127.0.0.1:8000/1/ (其中1是问卷的id)
现在回到正题,接着为了部署继续修改settings.py主要改动是把原来开发过程中用的相对路径改成绝对路径。
主要有:
MEDIA_ROOT = ‘c:/django/wenjuan’
STATIC_PATH = ‘c:/django/wenjuan/media’
TEMPLATE_DIRS = (
‘c:/django/wenjuan/templates’,
)
请注意斜杠的方向。
接下来可以去修改Apache的配置文件httpd.conf了。它应该在Apache安装目录的con里面找到。
配置可能涉及到的参数主要有:
Listen (监听的端口号,前面也可以附上IP,默认就设成80吧)
ServerName (访问的入口,仍然是IP+端口,比如162.168.1.10:80或者是其他的)
DocumentRoot (Apache服务器的根,我把它设为"c:/django/")
然后就是需要添加的配置了:
首先检查LoadModule python_module modules/mod_python.so
如果没有就加上,位置挨着长得像的就行了
然后添加:(建议在配置文件最后,日后好找)
<Location "/">
SetHandler python-program
PythonPath "sys.path+[‘c:/django‘]"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE wenjuan.settings
PythonInterpreter inves
PythonDebug On
</Location>
注意如果是正式发布就把里面的PythonDebug 置为Off
然后再添加:
Alias /site_media c:/django/wenjuan/media
<Location "/site_media/">
SetHandler None
</Location>
Alias /media c:/Django-0.95/django/contrib/admin/media (注意对应你装的django)
<Location "/media/">
SetHandler None
</Location>
<LocationMatch "(?i)\.(jpg|gif|png|txt|ico|pdf|css|jpeg)$">
SetHandler None
</LocationMatch>
重启Apache,浏览 http://localhost/1/
说明:可以通过http://localhost/single/1 一次打开所有问题,上一个是一题一题跳的。