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实现多线程抓取妹子图
Aug 08 Python
python实现发送和获取手机短信验证码
Jan 15 Python
python使用arcpy.mapping模块批量出图
Mar 06 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
Jun 22 Python
Python对CSV、Excel、txt、dat文件的处理
Sep 18 Python
python3+opencv3识别图片中的物体并截取的方法
Dec 05 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 Python
Python实现word2Vec model过程解析
Dec 16 Python
Python中求对数方法总结
Mar 10 Python
Python+pyftpdlib实现局域网文件互传
Aug 24 Python
解决Pycharm 运行后没有输出的问题
Feb 05 Python
Django如何与Ajax交互
Apr 29 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
php中Smarty模板初体验
2011/08/08 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
jquery 中多条件选择器,相对选择器,层次选择器的区别
2012/07/03 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
详解Python中dict与set的使用
2015/08/10 Python
如何将python中的List转化成dictionary
2016/08/15 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
Python内置加密模块用法解析
2019/11/25 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
酒店员工培训方案
2014/06/02 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
干部考核工作总结2015
2015/07/24 职场文书
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python