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获取糗百图片代码实例
Dec 18 Python
python使用socket远程连接错误处理方法
Apr 29 Python
举例讲解Python中的死锁、可重入锁和互斥锁
Nov 05 Python
详解设计模式中的工厂方法模式在Python程序中的运用
Mar 02 Python
Python常见MongoDB数据库操作实例总结
Jul 24 Python
Django 响应数据response的返回源码详解
Aug 06 Python
python实现多进程通信实例分析
Sep 01 Python
django xadmin action兼容自定义model权限教程
Mar 30 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
详解python中的异常捕获
Dec 15 Python
pycharm debug 断点调试心得分享
Apr 16 Python
python之django路由和视图案例教程
Jul 26 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连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
jQuery select操作控制方法小结
2010/05/26 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
浅谈Javascript面向对象编程
2011/11/15 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
详解addEventListener的三个参数之useCapture
2015/03/16 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
Python功能键的读取方法
2015/05/28 Python
Python多进程原理与用法分析
2018/08/21 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
安全资料员岗位职责
2013/12/14 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
课内比教学心得体会
2014/09/09 职场文书
读书笔记怎么写
2015/07/01 职场文书
运输公司工作总结
2015/08/11 职场文书