初次安装Django是根据hideto写的Django之Apache/mod_python安装及HelloWorld 这篇文章进行的.在此要感谢hideto...他的博客真是有很多好东东..我也试着安装了一下并且成功跑出了一个Helloworld,在这里记录一下安装步骤和体会....文章中部分内容引用到了hideto的内容,在此表示感谢..
按照hideto博客中的步骤,我主要做了如下操作:
1 .将 %PYTHONHOME%/scripts路径添加到环境变量path中
因为我已经安装了python2.5,只是这个script的路径还没有设置....起初我不太明白为什么要添加这个路径, 后来才明白,原来在第三步时要执行一个“django-admin.py startproject myproj”的命令...而django-admin.py又是在第二步安装Django后,安装程序主动把django-admin.py这个文件复制到了%PYTHONHOME%/scripts 这个文件夹下,且在创建项目时,也要在这个文件夹下查找这个django-admin.py文件..
2.下载并安装Django
下载地址:http://www.djangoproject.com/download
目前最新版本0.96.1,下载的是tar.gz结尾的包..直接用WINRAR解压,然后在cmd中进入刚才解压的目录,
运行“python setup.py install”,这样就可完成安装,,在我安装的过程中发现必须使用"python setup.py install" 这个命令才能安装成功....
3、配置虚拟主机
配置之前要先mod_python.so,它是一个让Apache服务器支持python解析的模块,我也早已经安装过.下面主要讲配置主机...(下面一段配置方法引用自hideto的博客)
编辑httpd.conf:
设置MaxRequestsPerChild 1,这样可以在开发阶段不用重启Apache进行测试
添加LoadModule python_module modules/mod_python.so
去掉注释Include conf/extra/httpd-vhosts.conf
假如工作目录为D:\py,cmd切换到该目录运行“django-admin.py startproject myproj”
编辑httpd-vhosts.conf:
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
<Location "/">
SetHandler python-program
PythonPath "['D:/py'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE myproj.settings
PythonAutoReload Off
PythonDebug On
</Location>
</VirtualHost>
我的说明:
编辑httpd-vhosts.conf 时..Location主要用于设置服务器虚拟主机的访问路径,上面设置的是"/",那么我们在启动服务器后,访问我们自建的django站点时的地址应为: http://127.0.0.1/ ,如果把Location改一下,比如改成"/myproj",那么地址就应该是http://127.0.0.1/myproj .
4. Hello Django:
在D:\py\myproj下新建helloworld.py:
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello, Django!')
修改urls.py:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
# Example:
# (r'^myproj/', include('myproj.apps.foo.urls.foo')),
(r'^$', 'myproj.helloworld.index'),
# Uncomment this for admin:
# (r'^admin/', include('django.contrib.admin.urls')),
)
PY文件写完.那现在就可以打开浏览器看效果了...http://localhost/...
但是很可惜.我没有预览成功,报出了一个404错误....
查看错误原因后,发现原来是(r'^$', 'myproj.helloworld.index')这一句有错..错在 r'^$' 的配置.
将r'^$'换成 r'/' 即可正常访问..为什么使用r'^$'会出错,我也不太明白.只能希望在以后的学习过程中能够明白.