web.py是一个基于Python,简单而又强大的开源Web框架。 由于自己总是对轻量级的东西比较偏爱。因此选择了web.py来学习Web开发。目前关于web.py的相关资料比较少(甚至连Wikipedia的条目都没有……),自己主要通过官网上的教程和文档来学习,以后会逐步把自己的学习体会总结下来。
2、web.py安装 web.py的安装非常简单,而且几乎也不需要什么配置。首先当然要安装Python,然后从官网下载web.py的压缩包: wget 。解压后直接执行Python setup.py install即安装完毕。web.py有一个内置的Web服务器,因此装完之后其实就可意直接使用了。不过更正式一点的话,还需要安装flup来提供WSGI接口(WSGI是Python应用程序和Web服务器之间的一种接口,类似于Java的Servlet)。flup的下载地址是: 。flup的安装同样是执行Python setup.py install。需要用到数据库的话,还需要安装psycopg2和Postgresql,psycopg可以到这里下载: 这个我在安装的时候出现不少问题,提示找不到pg_config需要安装postgresql-devel插件。 而提示找不到python.h则需要安装python-devel。Postgresql可以到这里下载: 我用yum试了一下,发现自己的机器上已经默认装有最新版。 3、第一个web.py程序如果有Python基础的话,web.py的入门非常简单。正如官网上写的那句web.py slogan:“Think about the ideal way to write a web app. Write the code to make it happen.”Hello world程序非常简单,我们可以直接打开Python的交互式解释器。然后写上这一行:
>>>import web
来引入web.py模块。然后下一行是:
>>>urls=('/','index')
这行的作用是声明网站的url,第一个参数是一个正则表达式,用来匹配url,第二个参数就是我们url所要处理的类。接下来用这个url来创建一个程序:
>>>app=web.application(urls, globals())
再接下下来,就是定义刚才提到的index类:>>>class index: def GET(self): return 'Hello World!'
这里要注意的是GET,定义GET用来请求一个网页,最后返回的Html代码就是所展现的网页的内容。另一个重要的函数是POST则是用来提交表单,在这个简单的程序里并不需要与用户的交互,所以仅定义了GET函数。最后只要加上这句程序就可以运行啦:
>>>app.run()
我们将看到的是http://0.0.0.0:8080/,8080代表的是端口号。在浏览器中直接输入这个地址,就可以看到Hello World的页面了!如果直接写成一个脚本,那么执行Python filename.py即可。
此时会看到两个提示:
127.0.0.1:57720 - - [17/Sep/2011 22:46:28] "HTTP/1.1 GET /" - 200 OK
127.0.0.1:57720 - - [17/Sep/2011 22:46:28] "HTTP/1.1 GET /favicon.ico" - 404 Not Found
第一个OK应该是说明获取url成功,第二个说找不到favicon.ico。ico是图标文件,看来应是指网站的图标,由于我们并不是在做一个正式的网站,所以无关紧要。