## page was renamed from ObpLovelyPython/PCS302 ##language:zh #pragma section-numbers off ||status|| 草稿 ||HuangYi 清风; 100%|| <> ##startInc = PCS302 Web.py = == 啥是 web.py == 又是一个超简洁的 web 框架,但麻雀虽小五脏俱全,web.py 自带了一个现代 MVC 框架需要的所有内容:基于正则表达式的URL分发器、显示区分请求方法的控制器、cheetah模板引擎,甚至还有一个DB工具。其他的像开发服务器、调试工具、form库等也是一应具全的。 == 下载安装 == 从这里 http://webpy.org/install 找到最新版本的下载地址,并下载之。解压执行 {{{python setup.py install}}} 。 == 开始写程序 == 下面就是一个很典型的 web.py 程序了。 {{{#!python # -*- coding: utf-8 -*- # 导入web.py import web # 使用正则表达式定义 URL 与控制器类之间的映射 # 正则表达式中的 group 会被映射为控制器方法的参数 urls = ( '/(.*)', 'hello' ) # 定义控制器类 class hello: # 处理 GET 请求,参数是 web.py 根据url的正则表达式解析出来的 def GET(self, name): if not name: name = 'world' print 'Hello,', name+'!' # 处理 POST 请求 def POST(self): # 获取客户端提交的数据 i = web.input() # 重定向URL web.seeother('hello?name='+i.name) # 启动开发服务器,启动该web程序 if __name__ == "__main__": web.run(urls, globals()) }}} 和 cherrypy 一样,要启动,直接执行这个程序就可以了。 把上面这个程序以 utf-8 编码保存为 hellowold.py 然后执行:{{{python helloworld.py}}} 。 这个时候你访问 http://localhost:8080/you 就可以看到 Hello you! 了。 == 练习 == ##endInc