python脚本框架webpy的url映射详解

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”。

后端开发标签