manage.pyfrom tornado.ioloop import IOLoop ?# 处理I/Ofrom tornado.web import RequestHandler ?# 处理请求from tornado.web import Application ?# 实例化APP网页USER_DICT = { ???‘1‘: {‘name‘: ‘金超‘, ‘age‘: ‘22‘}, ???‘2‘: {‘name‘: ‘小可‘, ‘age‘: ‘42‘}, ???‘3‘: {‘name‘: ‘小鱼‘, ‘age‘: ‘32‘}, ???‘4‘: {‘name‘: ‘小狗‘, ‘age‘: ‘52‘},}# 中间件用于验证是否登录class AuthHandler(object): ???def prepare(self): ???????# name = self.get_cookie(‘xxxxx‘) ?#与Django方法做对比 ???????name = self.set_secure_cookie(‘xxxxx‘) ???????if not name: ???????????self.redirect(‘/login‘)# home页面 ?要先继承AuthHandlerclass HomeHandler(AuthHandler, RequestHandler): ???def get(self, *args, **kwargs): ???????self.render(‘index.html‘, user_dict=USER_DICT, num=[11, 22, 33])# index主页面class IndexHandler(AuthHandler, RequestHandler): ???def get(self, *args, **kwargs): ???????# 用user_dict带入参数传给页面 ???????self.render(‘index.html‘, user_dict=USER_DICT, num=[11, 22, 33])# login登录页面函数class LoginHandler(RequestHandler): ???def get(self, *args, **kwargs): ???????self.render(‘login.html‘, error=‘‘) ???def post(self, *args, **kwargs): ???????# Tornado和Django做类比 ???????# self.get_query_argument(‘user‘) ????????request.GET.get(‘user‘) ???????# self.get_query_arguments(‘user‘) ???????request.GET.getlist(‘user‘) ???????# self.get_body_argument(‘user‘) ?????????request.POST.get(‘user‘) ???????# self.get_body_arguments(‘user‘) ????????request.POST.getlist(‘user‘) ???????user = self.get_body_argument(‘user‘) ???????pwd = self.get_body_argument(‘pwd‘) ???????if user == ‘alex‘ and pwd == ‘123‘: ???????????self.set_secure_cookie(‘xxxxx‘, user) ???????????self.redirect(‘/index‘) ???????????return ???????self.render(‘login.html‘, error=‘用户名或密码错误‘)# 在settings中注册templates和中间件cookiesettings = { ???‘template_path‘: ‘templates‘, ???‘cookie_secret‘: ‘asq3wurasldf‘}# 在Application()方法里面写页面对应着函数application = Application([ ???(‘/login‘, LoginHandler), ???(‘/index‘, IndexHandler), ???(‘/home‘, HomeHandler),], **settings)# listen()方法可以监控端口和IP默认是本机if __name__ == ‘__main__‘: ???application.listen(8888) ???IOLoop.instance().start()
Tornado--搭建网页
原文地址:https://www.cnblogs.com/weilaixiaochaoren/p/10273402.html