tornado实现不同app路由分发

tornado实现app路由分发

from tornado import ioloop
from tornado.httpserver import HTTPServer
from tornado.web import Application, RequestHandler
from tornado.routing import RuleRouter, PathMatches, Rule


class Handler1(RequestHandler):
    def get(self):
        self.write('hello')


class Handler2(RequestHandler):
    def get(self):
        self.write('world')


app1 = Application([
    (r"/app1/handler", Handler1),
    # other handlers ...
])

app2 = Application([
    (r"/app2/handler", Handler2),
    # other handlers ...
])

router = RuleRouter([
    Rule(PathMatches("/app1.*"), app1),
    Rule(PathMatches("/app2.*"), app2)
])

server = HTTPServer(router)

if __name__ == '__main__':
    server = HTTPServer(router)
    server.listen(8000)  # 改用服务器进行监听
    ioloop.IOLoop.current().start()

这样就可以将不同的app整合到一个router下面, 将整个项目划分成各个小模块来管理

posted @ 2019-10-24 21:28  Ivy丶  阅读(794)  评论(0编辑  收藏  举报