美文网首页
利用装饰器(闭包) 动态新增 tornado的路由,类似flas

利用装饰器(闭包) 动态新增 tornado的路由,类似flas

作者: 夏树的宝马 | 来源:发表于2020-10-13 19:45 被阅读0次

先说明我用闭包,没用装饰器,主要是这两个太相近了

import tornado.ioloop
import tornado.web
from tornado.web import Application

# 运行完成了 
app=Application()

# 直接在上面新增,不过需要穿 url 和 Application
def add_route_v(url,app):
    def wrapper(obj):
        app.add_handlers(".*$", [(url, obj)])
        print(obj.__name__)
        return obj
    return wrapper

@add_route_v(r"/baidu",app)
class B(tornado.web.RequestHandler):
    def get(self, *args, **kwargs):
        ss=self.get_argument("bbb")
        self.write({"xx":ss})

@add_route_v(r"/",app)
class A(tornado.web.RequestHandler):
    def get(self, *args, **kwargs):
        self.write({"xx":"A"})


app.listen(8000)
tornado.ioloop.IOLoop.instance().start()

下面直接展示效果吧

url带参数的样子 url不带参数的样子

相关文章

网友评论

      本文标题:利用装饰器(闭包) 动态新增 tornado的路由,类似flas

      本文链接:https://www.haomeiwen.com/subject/zqhbpktx.html