简介:Tornado是使用Python编写的一个强大的、可扩展的Web服务器。它在处理严峻的网络流量时表现得足够强健, 但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。不同于那些最多只能达到10,000个 并发连接的传统网络服务器,Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题,这样的设计使得其 成为一个拥有非常高性能的框架。此外,它还拥有处理安全性、用户验证、社交网络以及与外部服务(如数据 库和网站API)进行异步交互的工具。 内容:Tonado由 路由系统、视图、模板语言4大部分组成, tornado.ioloop # 核心IO循环模块 tornado.web # Web框架模块 安装:pip install tornado == 3.5 1. 基本框架 import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): # 定义主页面的数据信息处理 def get(self): self.write('hellow ,world') application=tornado.web.Application([ (r'/index/',MainHandler) ]) # 路由 if __name__ == '__main__': application.listen(8888) #创建1个socket对象,指定端口号 tornado.ioloop.IOLoop.instance().start() #conn,addr=socket.accept()进入监听状态 2. Tornado是通过类来处理数据交互的,有get()和post()方法来分别处理GET和POST请求。 3. 配置文件: settings = { "cookie_secret": "P2oowNOASlicZbPekv6vsQjkJ4MDFktspMoWxNwX0ZQ=", "login_url": "/login", "template_path": os.path.join(os.path.dirname(__file__), "templates"), # 配置模板路径 "debug": True, # 当值是True时,实时跟新数据,跟新路由时服务需要重启 } 4. 定义login登录 import os, re, hashlib import tornado.ioloop # 核心IO循环模块 import tornado.web # Web框架模块 import tornado.escape from mongodbs import db def md5(s, salt='encodeutf-8'): # md5加密,用于注册时给密码加密使用 new_s = str(s) + salt m = hashlib.md5(new_s.encode()) return m.hexdigest() class BaseHandler(tornado.web.RequestHandler): # 定义基础类,继承自tornado.web.RequestHandler def get_current_user(self): # 获取 cookie 数据 return self.get_secure_cookie("user") class RegisterHandler(BaseHandler): # 定义注册类,继承BaseHandler def get(self): # GET请求,获取注册页面 self.render('register.html') def post(self): # POST请求,获取注册页面传参,处理数据 account = self.get_argument("account") password = self.get_argument("password") if account == "" or password == "": # 用户名和密码为空时,给出提示 return self.write("<script>alert('用户名或密码不能为空');window.history.back
Tornado 学习
最新推荐文章于 2024-09-23 08:37:45 发布
本文介绍了Tornado这一高性能的Python Web服务器框架,它为解决C10K问题而设计,具备处理安全性、用户验证等功能。Tornado包括路由系统、视图和模板语言等组件,通过类来处理数据交互,支持GET和POST请求。文章详细讲解了Tornado的基本框架、设置、登录注册功能以及数据库操作,并提供了示例代码。
摘要由CSDN通过智能技术生成