.Tang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
import tornado.ioloop
import tornado.web
import tornado.httpserver  # 非阻塞
import tornado.options   # 提供了多种选择 python xxx.py --port=xxxx
from tornado.options import define,options
from data.user_module import User
define('port',default=8000,help='run port',type=int)  # windows通过Ctrl+鼠标左键
define('version',default=0.1,help='version',type=str)


class LoginHandler(tornado.web.RequestHandler):

    def get(self):
        self.render('login.html')        # 通过form表单输入并提交用户数据

    def post(self, *args, **kwargs):
        name =self.get_argument('name','')        # 获取到用户登录的 用户名 
        username = User.by_name(name)        # 根据用户名去匹配数据库是否有这条数据 by_name=session.query(User).filter_by(username=name).all()   返回list
        password = self.get_argument('password','')  # 获取用户登陆的密码if username and password==username[0].password:   # 判断用户是否存在及密码是否正确
            self.render('login_success.html',       # 返回一个登陆页面
                        username=username
                        )
        else:
            self.write('用户名或密码错误')

application = tornado.web.Application(
    handlers=[
    (r"/login",LoginHandler),
     ],
    template_path='templates',  # 表明页面html的路径
    static_path='static',
    debug=True           # 上传代码后服务器自动重启
)

if __name__ == '__main__':
    tornado.options.parse_command_line()   # 通过sys.arg获取命令行输入参数(python xxx.py --port=xxx)
    print(options.port)
    print(options.version)
    http_server = tornado.httpserver.HTTPServer(application)  # 非阻塞
    application.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()   # 启动io循环

 

posted on 2018-03-11 14:09  .Tang  阅读(296)  评论(0编辑  收藏  举报