status

草稿

HuangYi 清风; 100%

PCS302 Web.py

啥是 web.py

又是一个超简洁的 web 框架,但麻雀虽小五脏俱全,web.py 自带了一个现代 MVC 框架需要的所有内容:基于正则表达式的URL分发器、显示区分请求方法的控制器、cheetah模板引擎,甚至还有一个DB工具。其他的像开发服务器、调试工具、form库等也是一应具全的。

下载安装

从这里 http://webpy.org/install 找到最新版本的下载地址,并下载之。解压执行 python setup.py install

开始写程序

下面就是一个很典型的 web.py 程序了。

   1 # -*- coding: utf-8 -*-
   2 # 导入web.py
   3 import web
   4 
   5 # 使用正则表达式定义 URL 与控制器类之间的映射
   6 # 正则表达式中的 group 会被映射为控制器方法的参数
   7 urls = (
   8     '/(.*)', 'hello'
   9 )
  10 
  11 # 定义控制器类
  12 class hello:
  13     # 处理 GET 请求,参数是 web.py 根据url的正则表达式解析出来的
  14     def GET(self, name):
  15         if not name: name = 'world'
  16         print 'Hello,', name+'!'
  17     # 处理 POST 请求
  18     def POST(self):
  19         # 获取客户端提交的数据
  20         i = web.input()
  21         # 重定向URL
  22         web.seeother('hello?name='+i.name)
  23 
  24 # 启动开发服务器,启动该web程序
  25 if __name__ == "__main__": web.run(urls, globals())

和 cherrypy 一样,要启动,直接执行这个程序就可以了。 把上面这个程序以 utf-8 编码保存为 hellowold.py 然后执行:python helloworld.py这个时候你访问 http://localhost:8080/you 就可以看到 Hello you! 了。

练习