首页 > 编程 > Python > 正文

python使用tornado实现登录和登出

2020-01-04 14:48:47
字体:
来源:转载
供稿:网友

本文实例为大家分享了tornado实现登录和登出的具体代码,供大家参考,具体内容如下

main.py如下:

import tornado.httpserverimport tornado.ioloopimport tornado.webimport tornado.optionsimport os.path from tornado.options import define, optionsdefine("port", default=8000, help="run on the given port", type=int) class BaseHandler(tornado.web.RequestHandler):  def get_current_user(self):    return self.get_secure_cookie("username")class LoginHandler(BaseHandler):  def get(self):    self.render('login.html')  def post(self):    self.set_secure_cookie("username", self.get_argument("username"))    self.redirect("/")class WelcomeHandler(BaseHandler):  @tornado.web.authenticated  def get(self):    self.render('index.html', user=self.current_user) class LogoutHandler(BaseHandler):  def post(self):    if (self.get_argument("logout", None)):      self.clear_cookie("username")    self.redirect("/")if __name__ == "__main__":  tornado.options.parse_command_line()  settings = {    "template_path": os.path.join(os.path.dirname(__file__), "templates"),    "cookie_secret": "bZJc2sWbQLKos6GkHn/VB9oXwQt8S0R0kRvJ5/xJ89E=",    "login_url": "/login"  }  application = tornado.web.Application([    (r'/', WelcomeHandler),    (r'/login', LoginHandler),    (r'/logout', LogoutHandler)  ],debug= True,**settings)  http_server = tornado.httpserver.HTTPServer(application)  http_server.listen(options.port)  tornado.ioloop.IOLoop.instance().start()

index.html

<html><head></head><body> <p>Hello {{ user }}</p> <form action="/logout?logout=1" method="post"> <input type="submit" value="Log out"></br></body></html>

login.html

<html><head></head><body> <h>Login Page</h> <form action="/login" method="post">Name:<input type="text" name="username"></br> <input type="submit" value="Sign in"></br> </form></body></html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表