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/([^/]+)便可。网站

相关文章
相关标签/搜索