https://blog.csdn.net/a312024054/article/details/52207367

 

tornado原理:

 

 

tornado的使用

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")
	    
	    
class loginHandler(tornado.web.RequestHandler):
    def get(self):
        self.render("login.html")
	#post方法接受数据
    def post(self, *args, **kwargs):
	    v = self.get_argument('username')
	    print(v)
	    self.redirect('home.html')
	    
	    
#配置静态目录
settings = {
	'template_path': 'templates',
	'static_path': 'static',
	'static_url_prefix': '/ppp/', #使用前缀

}
application = tornado.web.Application([
    (r"/login", loginHandler),
    (r"/home.html", MainHandler),
], **settings)

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

 源码分析流程:

a:python app.py

1)加载路由关系: def add_handles

2)加载配置文件:

3)启动socket:

b:用户发请求

1)匹配路由:

2)执行指定类的方法:

posted on 2018-06-20 09:22  wy0925  阅读(171)  评论(0编辑  收藏  举报