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錯誤! |