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 相关文章推荐
详解Django框架中的视图级缓存
Jul 23 Python
Python数组定义方法
Apr 13 Python
整理Python 常用string函数(收藏)
May 30 Python
浅析AST抽象语法树及Python代码实现
Jun 06 Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
在Python中给Nan值更改为0的方法
Oct 30 Python
Python-opencv 双线性插值实例
Jan 17 Python
python上传时包含boundary时的解决方法
Apr 08 Python
Python中SQLite如何使用
May 27 Python
浅谈Python里面None True False之间的区别
Jul 09 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 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
一个简单php扩展介绍与开发教程
2010/08/19 PHP
php中文验证码实现示例分享
2014/01/12 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
2016/07/18 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
vuejs前后端数据交互之从后端请求数据的实例
2018/08/11 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
简化Python的Django框架代码的一些示例
2015/04/20 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
Python 判断奇数偶数的方法
2018/12/20 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
介绍一些UNIX常用简单命令
2014/11/11 面试题
开业庆典策划方案
2014/02/18 职场文书
2014春晚主持词
2014/03/25 职场文书
项目经理任命书内容
2014/06/06 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书