python使用tornado实现登录和登出


Posted in Python onJuly 28, 2018

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

main.py如下:

import tornado.httpserver
import tornado.ioloop
import tornado.web
import tornado.options
import os.path
 
from tornado.options import define, options
define("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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python检测手机QQ在线状态的脚本代码
Feb 10 Python
Python上下文管理器和with块详解
Sep 09 Python
python机器学习之决策树分类详解
Dec 20 Python
取numpy数组的某几行某几列方法
Apr 03 Python
python批量修改图片后缀的方法(png到jpg)
Oct 25 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 Python
Python3 翻转二叉树的实现
Sep 30 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
wxpython多线程防假死与线程间传递消息实例详解
Dec 13 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
Jan 04 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 Python
python统计文章中单词出现次数实例
Feb 27 Python
基于python实现简单日历
Jul 28 #Python
python使用tcp实现局域网内文件传输
Mar 20 #Python
基于python3实现socket文件传输和校验
Jul 28 #Python
python多进程实现文件下载传输功能
Jul 28 #Python
python如何生成网页验证码
Jul 28 #Python
python3利用tcp实现文件夹远程传输
Jul 28 #Python
python使用tornado实现简单爬虫
Jul 28 #Python
You might like
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
2017/03/10 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
Python入门篇之函数
2014/10/20 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
解决Python一行输出不显示的问题
2018/12/03 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
C语言变量的命名规则都有哪些
2013/12/27 面试题
大学辅导员事迹材料
2014/02/05 职场文书
2014爱耳日宣传教育活动总结
2014/03/09 职场文书
个人委托书范本
2014/04/02 职场文书
英文推荐信格式范文
2014/05/09 职场文书
副总经理岗位职责
2015/02/02 职场文书