首頁 >後端開發 >Python教學 >Python中Tornado的路由解析(附實例)

Python中Tornado的路由解析(附實例)

不言
不言轉載
2018-10-16 16:16:332943瀏覽

這篇文章帶給大家的內容是關於Python中Tornado的路由解析(附實例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

向web.Application物件傳遞的第1個參數URL路由映射清單的設定方式與Django類型,以正規字串進行路由比對。

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

#1、固定字串路徑

##固定字串即是普通的字串固定匹配,例如:

Handlers=[
("/",MainHandler), #只匹配跟路径
("/entry",EntryHandler) #只匹配/entry
("/entry/2019",Entry2019Handler) #只匹配/entry/2019
]

2、參數字元路徑:正在表達式定義路徑

#參數子字串可以將具備一定模式的路徑對應到同一個RequestHandler中處理,其中路徑中的參數部分以小括號"()"標識。

實例:參數路徑

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/666

頁面輸出:

Hello World666
其中的/id/([^/] )是正在表達式。可以匹配:

http://xxx.xxx.xxx/id/xxx
但是無法匹配:

http://xxx.xxx.xxx/id
要想也匹配這個字符,可以修改正在表達式,將:/id/([^/] )改為/id/ ([^/] )即可。

以上是Python中Tornado的路由解析(附實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除