前言

程序收到请求后,会根据URL来寻找相应的视图函数,随后由其生成页面发送回给客户端。其中,不同的URL对应着不同的视图函数,这就存在一个映射关系。而处理这个映射关系的功能就叫做路由。路由的实现分为两部分:
1. 生成URL映射关系
2. 根据请求匹配正确的视图函数
本文将围绕这两个部分进行分析。

生成URL映射关系

在Bottle的示例程序中,我们使用@app.route修饰器来将地址'/hello'映射到视图函数hello:

1 @app.route('/hello')2 def hello():3     return 'Hello World!'

下面以'/hello'为例子来分析app.route的代码。

seo优化培训,网络推广培训,网络营销培训,SEM培训,网络优化,在线营销培训

 1 def route(self, path=None, method='GET', callback=None, name=None, 2           apply=None, skip=None, **config): 3     """ 4         :param callback: An optional shortcut to avoid the decorator 5           syntax. ``route(..., callback=func)`` equals ``route(...)(func)`` 6     """ 7     if callable(path): path, callback = None,&nbs