191145686 发表于 2017-1-4 09:54:23

用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 一次打开所有问题,上一个是一题一题跳的。
页: [1]
查看完整版本: 用Apache快速架设Django应用