Python Web编程(二)
第一篇介绍了一下mod-python这个很基本的Python下的Web框架,毕竟在这个框架下面写代码需要自己手动写很多东西,
下面就介绍一个基于mod-python的Web框架--Django。
这个框架在当前的应用还是相当广泛的,比起Zope和Plone显得不是很复杂,学习曲线也比较低。
好的,上一篇里面已经安装过了Apache和mod-python了,这一篇里还需要安装另外的东西。
数据库,我的选择是MySql这个开源的数据库,我们还需要另外一个模块--MySqlDb,这是一个Python模块。
然后去http://www.djangoproject.com/download/下载一个最新的版本,现在的版本是Django-0.96。
下载回来执行python setup.py install,它就会把Django安装到site-package下面。
安装就到此为止。
为了方便使用,可以在Path下面追加一项:Python25\Scripts,这样就可以在任一目录下利用django-admin.py命令了。
在上一篇的PythonWeb目录下面执行django-admin.py startproject test1,它会在这个目录下面建一个test1的目录,
并且有四个文件__init__.py,manage.py,settings.py和urls.py。
其中__init__.py是一个空文件,目的就是标志这是一个Python包。
manage.py提供了一些命令用来操作Django。
settings.py提供了一些可以配置的环境,例如数据库等。
urls.py用来匹配URL。
大概了解以上几个文件以后,就可以配置Apache了。
还是修改Apache的配置文件Apache2.2\conf\httpd.conf。
把上一节中的Directory修改成如下内容:
<Directory "D:\PythonWeb">
AddHandler mod_python .py
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE test1.settings
PythonDebug On
PythonPath "[r'D:\PythonWeb'] + sys.path"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
注意红色的部分是新加的内容,就是不说大家也可以猜出来是什么意思。
随便写一个简单的模块helloworld.py:
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello, World!')
然后修改urls.py:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^test1/', 'test1.helloworld.index'),
)
好了,一切就绪,http://localhost/test1/,试一下好使了吗?
以上内容参考了http://www.djangoproject.com/documentation/modpython/。