首页 > Python下载 > web.py官网下载
web.py官网下载
授权形式: 免费版
更新时间: 2013-01-16 11:11:46
软件语言: 英文
软件平台: Win2000/WinXP/Win2003/Linux/win7
软件类别: 国外软件
文件大小: 未知
评论等级: ★★★★★
浏览次数: (今日:,本周:,本月:
软件简介

web.py官网下载

web.py 是一个Python 的web 框架,它简单而且功能强大。web.py 是公开的,无论用于什么用途都是没有限制的。


先让大家感受一下web.py 的简单而强大:


import web


urls = (

   '/(.*)', 'hello'

)


class hello:

   def GET(self, name):

       i = web.input(times=1)

       if not name: name = 'world'

       for c in xrange(int(i.times)): print 'Hello,', name+'!'


if __name__ == "__main__": web.run(urls, globals())

看看,上面就是一个基于web.py 的完整的Web 应用。不信?!将上面的代码保存为文件code.py,在命令行下执行python code.py。然后打开你的浏览器,打开地址:http://localhost:8080/RossWan,看看结 果 :)没有意外的话(当然要先安装web.py,下面会有介绍),浏览器会显示“Hello, RossWan!”。这是一个最简单的Hello world Web 应用。是不是很简单?!下面将较为详细地介绍下web.py 。Find fun :)


1. 安装


将下载得到的文件web.py-0.37.tar.gz 解压,进入解压后的文件夹,在命令行下执行:

python setup.py install

在Linux 等系统下,需要root 的权限,可以执行:

sudo python setup.py install


安装完毕之后,就可以正式开始web.py 之旅…


2. URL 处理


对于一个站点来说,URL 的组织是最重要的一个部分,因为这是用户看得到的部分,而且直接影响到站点是如何工作的,在著名的站点如:del.icio.us ,其URLs 甚至是网页界面的一部分。而web.py 以简单的方式就能够构造出一个强大的URLs。


在每个web.py 应用,必须先import web 模块:


import web

现在,我们须要告诉web.py URL 如何组织,让我们以一个简单例子开始:


urls = (

 '/', 'index'    )

在上面的例子中,第一部分(‘/’)是一个匹配URL 的正则表达式,像/,/help/faq,/item/(\d+),等等;第二部分(‘index’)是一个类名,匹配的请求将会被发送过去。


现在,我们需要编写index 类。当大部人浏览网页的时候,他们都没有注意到,浏览器是通过HTTP 跟World Wide Web 通信的。通信的细节不太重要,但要明白一点,用户是通过URLs(例如 / 或者 /foo?f=1)来请求web 服务器完成一定请求的(例如 GET 或者POST)。


GET 是最普遍的方法,用来请求一个页面。当我们在浏览器里输入“harvard.edu” 的时候,实际上它是向Web 服务器请求GET ”/“。另一个常见的方法是POST,常用于提交特定类型的表单,例如利用信用卡付费和处理一个订单。注意,GET URLs 能够被搜索引擎索引得到(想像一下Google 尝试购买你网站上的所用物品)。


在我们的web.py 代码中。我们清晰区分这两种方法:


class index:

   def GET(self):

       print "Hello, world!"

当接收到一个GET 请求时,上面的GET 方法将会被web.py 调用。


好的。现在,我们只需添加最后一行代码,让web.py 启动网页应用:


if __name__ == "__main__": web.run(urls, globals())

上面告诉web.py 如何配置URLs,以及找寻的类在文件中的全局命名空间。


整个code.py 文件的内容如下:


import web


urls = (

 '/', 'index'    )


class index:

   def GET(self):

       print "Hello, world!"


if __name__ == "__main__": web.run(urls, globals())

注意到没有,虽然我说了很多东西,但实际上web 应用的代码就只得上面的几行,而且这是一个完整的web.py 应用。在你的命令行下输入:


$ python code.py

Launching server: http://0.0.0.0:8080/

现在,你的web.py 应用已经启动了服务器。通过浏览器访问http://localhost:8080/ 的话,会见到”Hello, world!“。在启动服务器的时候,你可以在python code.py 后面添加IP 地址/端口 来控制web.py 启动的服务器。例如:python code.py 8888。


3. 调试


web.py 本身也提供调试的工具。在最后的“if name …” 代码前面添加:


web.webapi.internalerror = web.debugerror

并在最后的“if name …” 添加”web.reloader“:


if __name__ == "__main__": web.run(urls, globals(), web.reloader)

上面的代码会使你在调试的阶段得到更多有用的信息。web.reloader 其实是一个中间件,当你在运行时修改了code.py 文件后,web.reloader 会重新加载code.py 文件,让你在浏览器上立刻可以看到变化。如何有多何变化的话,还是需要重新启动服务器。web.py 也提供web.profiler ,可以输出有用的信息,有关每个页面的每个函数调用的次数,这用助于你改善代码。


web.py 的确相当的小巧,应当归属于轻量级的web 框架。但这并不影响web.py 的强大,而且使用起来很简单、很直接。在实际应用上,web.py 更多的是学术上的价值,因为你可以看到更多web 应用的底层,这在当今“抽象得很好”的web 框架上是学不到的 :) 如果想了解更多web.py,可以访问web.py 的官方文档。


下载地址