作者:手浪用户2602925023 | 来源:互联网 | 2014-05-28 15:41
[摘要]web.py是一个基于Python,简单而又强大的开源Web框架,本文介绍如何安装web.py和实现第一个web.py程序HelloWorld。1web.py简介web.py是一个基于Python,简单而又强大的开源Web框架。由于自己总是对轻量级的东西比较偏爱。因此选择了web.py来学习W
[摘要]web.py是一个基于Python,简单而又强大的开源Web框架,本文介绍如何安装web.py和实现第一个web.py程序HelloWorld。
1 web.py简介
web.py是一个基于Python,简单而又强大的开源Web框架。
由于自己总是对轻量级的东西比较偏爱。因此选择了web.py来学习Web开发。目前关于web.py的相关资料比较少(甚至连Wikipedia的条目都没有……),自己主要通过官网上的教程和文档来学习,以后会逐步把自己的学习体会总结下来。
2 web.py安装
web.py的安装非常简单,而且几乎也不需要什么配置。首先当然要安装Python,然后从官网下载web.py的压缩包: wget
http://webpy.org/static/web.py-0.36.tar.gz 。解压后直接执行Python setup.py
install即安装完毕。web.py有一个内置的Web服务器,因此装完之后其实就可意直接使用了。不过更正式一点的话,还需要安装flup来提供WSGI接口(WSGI是Python应用程序和Web服务器之间的一种接口,类似于java的Servlet)。flup的下载地址是:http://www.saddi.com/software/flup/dist/
flup的安装同样是执行Python setup.py
install。需要用到数据库的话,还需要安装psycopg2和Postgresql,psycopg可以到这里下载:http://initd.org/psycopg/。
这个我在安装的时候出现不少问题,提示找不到pg_config需要安装postgresql-devel插件。
而提示找不到python.h则需要安装python-devel。Postgresql可以到这里下载:http://www.postgresql.org/download/
我用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是图标文件,看来应是指网站的图标,由于我们并不是在做一个正式的网站,所以无关紧要。