botlle的路由规则分为两大类:
* 静态路由
* 动态路由
#### 静态路由很简单,就是url的路径部分(除去主机名和get参数部分)与路由规则要完全匹配。
~~~
# coding:UTF-8
from bottle import Bottle
app = Bottle()
@app.get("/route/test")
def index():
return "hello world !"
app.run(host="127.0.0.1", port=8000, reloader=True, debug=True)
~~~
上面的代码就是静态路由,访问 http://127.0.0.1:8000/route/test 就可以看到`hello world !`。同理我们把代码的"/route/test" 改成 "/abc" 那么访问 http://127.0.0.1:8000/abc 就可以看到同样的结果。
#### 动态路由主要依靠正则表达式,来处理符合规则的url
动态部分使用: :要转成的参数名#正则表达式#
~~~
# coding:UTF-8
from bottle import Bottle
app = Bottle()
@app.get('/blog/:page#[1-9]+#')
def index(page):
return page
app.run(host="127.0.0.1", port=8000, reloader=True, debug=True)
~~~
上面的例子,访问情况如:
| 网址 | 结果 |
| -- | -- |
| http://127.0.0.1:8000/blog/15 | 15 |
| http://127.0.0.1:8000/blog/5 | 5 |
| http://127.0.0.1:8000/blog/15a | 无法访问,404错误! |