热门话题

Php 研究室

用Apache快速架设Django应用    作者:xieaotian发表于2008-08-25 08:26:19

装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 如果没有就加上,位置挨着长得像的就行了 然后添加:(建议在配置文件最后,日后好找) SetHandler python-program PythonPath "sys.path+['c:/django']" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE wenjuan.settings PythonInterpreter inves PythonDebug On 注意如果是正式发布就把里面的PythonDebug 置为Off 然后再添加: Alias /site_media c:/django/wenjuan/media SetHandler None Alias /media c:/Django-0.95/django/contrib/admin/media (注意对应你装的django) SetHandler None SetHandler None 重启Apache,浏览 http://localhost/1/ 说明:可以通过http://localhost/single/1 一次打开所有问题,上一个是一题一题跳的。

回复主题
Copyright © 2008-2010 版权所属:中国Python联盟 www.okpython.com
京ICP备08012290号 村长QQ:81356625 E-mail:xieaotian@163.com