先说明我用闭包,没用装饰器,主要是这两个太相近了
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()
下面直接展示效果吧