zoukankan      html  css  js  c++  java
  • tornado-通过判断后台数据限制登陆--简单的

    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循环
  • 相关阅读:
    nodejs内存溢出解决方法
    mongodb副本集与分片结合
    node加密
    守护进程,互斥锁,IPC,队列,生产者与消费者模型
    并发编程
    粘包问题
    socket编程
    xml模块
    网络编程
    异常处理
  • 原文地址:https://www.cnblogs.com/tangpg/p/8544072.html
Copyright © 2011-2022 走看看