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标准库之循环器(itertools)介绍
Nov 25 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
Python实现快速多线程ping的方法
Jul 15 Python
python 简单的多线程链接实现代码
Aug 28 Python
解决python3中解压zip文件是文件名乱码的问题
Mar 22 Python
python实现校园网自动登录的示例讲解
Apr 22 Python
Python定义一个跨越多行的字符串的多种方法小结
Jul 19 Python
Python 面试中 8 个必考问题
Nov 16 Python
Pycharm中import torch报错的快速解决方法
Mar 05 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 Python
Python-jenkins模块之folder相关操作介绍
May 12 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 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
example2.php
2006/10/09 PHP
PHP4引用文件语句的对比
2006/10/09 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
解决php写入数据库乱码的问题
2019/09/17 PHP
用javascript控制iframe滚动的代码
2007/04/10 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
Js基础学习资料
2010/11/23 Javascript
jquery 笔记 事件
2011/11/02 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
2012/12/25 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
python 获取et和excel的版本号
2009/04/09 Python
python实现爬虫下载漫画示例
2014/02/16 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
如何理解python面向对象编程
2020/06/01 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
C#软件工程师英语面试题
2015/06/07 面试题
幼儿园家长会欢迎词
2014/01/09 职场文书
给女儿的表扬信
2014/01/18 职场文书
校企合作协议书
2014/04/16 职场文书