`
webcode
  • 浏览: 5944608 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

用Apache快速架设Django应用

 
阅读更多

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.htmlhttp://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 一次打开所有问题,上一个是一题一题跳的。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics