1. webpy简介
Web.py是Python编程语言的一个开源的web框架(microframework)。 web.py不强制实用特定的模板引擎,也不强制实用特定的数据库。 微型框架是将完整的框架所需要的代码和库简化到最小的集合。 与完整的框架不同,微框架通常不需要外部库(除非您特别需要它们)。 它们通常支持RESTful路由
2. url映射详解
2.1 url映射是什么
URL是“统一资源定位符”的缩写,它是万维网上用于指定信息资源的标准方式。 例如:HTTP是一种用于发送请求和响应的协议,客户端通过发送HTTP请求到服务器从而获取数据,而URL就是用于标识该请求的特定资源的。
URL映射就是映射一些特定的URL地址到web应用程序中的模块、函数或者类,以便进行相应的处理。一般来说,对于每一个不同的URL地址,都会有一段不同的处理代码。
2.2 url映射实现方法
webpy中使用URL映射的方式是:在应用程序初始化时,将URL地址和相应的处理模块绑定到一起,构成一个URL映射表,从而可以在收到请求时,通过该映射表找到对应的处理函数。
web.py支持将不同的URL映射到以下3种处理方式中的任何一种:
函数
带有处理请求参数的函数
带有处理请求参数的类和方法
2.3 url映射的使用
在Web.py中,可以使用application对象的add_mapping方法添加URL映射。 下面是示例代码:
import web
urls = (
'/users', 'users',
'/users/(.*)', 'user'
)
class users:
def GET(self):
web.header('Content-Type', 'text/html')
return 'User List'
class user:
def GET(self, user_id):
web.header('Content-Type', 'text/html')
return 'User: ' + user_id
app = web.application(urls, globals())
if __name__ == '__main__':
app.run()
上述代码将两个URL映射到不同的处理函数上。 URL“/users”映射到类“users”中的GET方法,URL“/users/(.*)”中的正则表达式“(.*?)”将捕获括号中的任何文本,并作为参数传递给带有形参的处理函数“GET”。