Python:Tornado 第二章:實戰演練:開發Tornado網站:第二節:路由解析

上一篇文章: Python:Tornado 第二章:實戰演練:開發Tornado網站:第一節:網站結構:HelloWorld
下一篇文章: Python:Tornado 第二章:實戰演練:開發Tornado網站:第三節:RequestHandler:接入點函數

向web.Application對象傳遞的第1個參數URL路由映射列表的配置方式與Django類型,用正則字符串進行路由匹配。web

Tornado的路由字符串有兩種,固定字符串路徑和參數字符串路徑

一、固定字串路徑

固定字符串便是普通的字符串固定匹配,好比:
Handlers=[
("/",MainHandler), #只匹配跟路徑
("/entry",EntryHandler) #只匹配/entry
("/entry/2019",Entry2019Handler) #只匹配/entry/2019
]

二、參數字符路徑:正在表達式定義路徑

參數子串能夠將具有必定模式的路徑映射到同一個RequestHandler中處理,其中路徑中的參數部分用小括號"()"標識。segmentfault

實例:參數路徑瀏覽器

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self,id):
        self.write("Hello World"+id)

def make_app():
    return tornado.web.Application([
        ("/id/([^/]+)",MainHandler),

    ])

def main():
    app=make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

if __name__=="__main__":
    main()

在瀏覽器輸入:http://localhost:8888/id/666app

頁面輸出:函數

Hello World666

其中的/id/([^/]+)是正在表達式。能夠匹配:tornado

http://xxx.xxx.xxx/id/xxx

可是沒法匹配:oop

http://xxx.xxx.xxx/id

要想也匹配這個字符,能夠修改正在表達式,將:/id/([^/]+)改成/id/([^/]+)便可。網站

相關文章
相關標籤/搜索