有个朋友让我搞搞tornado框架,说实话,这个框架我用的不多。。。
我就把自己的一些个运维研发相关的例子,分享给大家。
怎么安装tornado,我想大家都懂。
pip install tornado
再来说说他的一些个模块,官网有介绍的。我这里再啰嗦的复读机一下,里面掺夹我的理解。
主要模块
web - FriendFeed 使用的基础 Web 框架,包含了 Tornado 的大多数重要的功能,反正你进入就对了。
escape - XHTML, JSON, URL 的编码/解码方法
database - 对 MySQLdb 的简单封装,使其更容易使用,是个orm的东西。
template - 基于 Python 的 web 模板系统,类似jinja2
httpclient - 非阻塞式 HTTP 客户端,它被设计用来和 web 及 httpserver 协同工作,这个类似加个urllib2
auth - 第三方认证的实现(包括 Google OpenID/OAuth、Facebook Platform、Yahoo BBAuth、FriendFeed OpenID/OAuth、Twitter OAuth)
locale - 针对本地化和翻译的支持
options - 命令行和配置文件解析工具,针对服务器环境做了优化,接受参数的
底层模块
httpserver - 服务于 web 模块的一个非常简单的 HTTP 服务器的实现
iostream - 对非阻塞式的 socket 的简单封装,以方便常用读写操作
ioloop - 核心的 I/O 循环
再来说说tornado接受请求的方式:
关于get的方式
class MainHandler(tornado.web.RequestHandler): def get(self): self.write("You requested the main page") class niubi(tornado.web.RequestHandler): def get(self, story_id): self.write("xiaorui.cc niubi'id is " + story_id) application = tornado.web.Application([ (r"/", MainHandler), (r"/niubi/([0-9]+)", niubi), ])
这样我们访问 /niubi/123123123 就会走niubi这个类,里面的get参数。
关于post的方式
class MainHandler(tornado.web.RequestHandler): def get(self): self.write('<html><body><form action="/" method="post">' '<input type="text" name="message">' '<input type="submit" value="Submit">' '</form></body></html>') def post(self): self.set_header("Content-Type", "text/plain") self.write("xiaorui.cc and " + self.get_argument("message"))
在tornado里面,一般get和post都在一个访问路由里面的,只是按照不同method来区分相应的。
扯淡的完了,大家测试下get和post。
import tornado.ioloop import tornado.web import json class hello(tornado.web.RequestHandler): def get(self): self.write('Hello,xiaorui.cc') class add(tornado.web.RequestHandler): def post(self): res = Add(json.loads(self.request.body)) self.write(json.dumps(res)) def Add(input): sum = input['num1'] + input['num2'] result = {} result['sum'] = sum return result application = tornado.web.Application([ (r"/", hello), (r"/add", add), ]) if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start()
#大家可以写个form测试,也可以用curl -d测试

Buffalo是一款使用Golang开发的Web框架,它提供了一种快速开发Web应用程序的解决方案。在这篇文章中,我们将介绍如何使用Buffalo构建一个Web应用。安装Buffalo首先,我们需要在本地安装Buffalo。Buffalo提供了一个方便的命令行工具,可以通过该工具来构建和运行应用程序。在安装之前,确保已经安装了Golang和Node.js。然

随着Web开发的需求不断增加,各种语言的Web框架也逐渐多样化,Go语言也不例外。在许多Go语言的Web框架中,gin、echo和iris是三个最受欢迎的框架。在这篇文章中,我们将比较这三个框架的优缺点,以帮助您选择适合您的项目的框架。gingin是一个轻量级的Web框架,它具有高性能和灵活性的特点。它支持中间件和路由功能,这使得它非常适合构建RESTful

本篇文章给大家分享一个Nodejs web框架:Fastify,简单介绍一下Fastify支持的特性、Fastify支持的插件以及Fastify的使用方法,希望对大家有所帮助!

在现代网络应用程序开发中,Web框架已经成为了不可或缺的一部分,它们提供了一种基础架构,使得开发者能够更快地创建和部署自己的应用程序。在PHP开发中,Slim是一种轻量级的Web框架,以其易于使用和快速开发而著称。本文将介绍如何使用PHP和Slim创建一个简单但功能强大的Web应用程序。Slim是什么?Slim是一种使用语言PHP编写的轻量级Web框架,其核

报错的原因在python中,Tornado中抛出NotImplementedError()的原因可能是因为未实现某个抽象方法或接口。这些方法或接口在父类中声明,但在子类中未实现。子类需要实现这些方法或接口才能正常工作。如何解决解决这个问题的方法是在子类中实现父类声明的抽象方法或接口。如果您正在使用一个类来继承另一个类,并且您看到了这个错误,则应该在子类中实现父类中所有声明的抽象方法。如果您正在使用一个接口,并且您看到了这个错误,则应该在实现该接口的类中实现该接口中所有声明的方法。如果您不确定哪些

Go语言近年来在Web开发领域中越来越受欢迎。一方面,它的性能和并发特性非常出色,非常适合处理高并发的Web请求;另一方面,它的开发效率也逐渐提高,越来越多的Web框架和开发工具被推出。本文将主要介绍在Go语言中开发Web框架和Web服务的相关内容。无论是从事Web开发的初学者,还是已经有一定经验的开发者,都可以通过本文了解Go语言中Web开发的相关知识和技

API网关是一种用于管理和路由API(应用程序编程接口)请求的网络服务。它是一种中介,用于接收客户端请求并将其转发到后端服务。API网关的好处是可以为多个服务提供一致的接口,并提供安全和监控等功能。在本文中,我们将使用Golang的Web框架Iris框架实现API网关。Iris框架是一个高性能Web框架,它的设计理念是简单、快速、易于扩展和可维护。Iris框

随着互联网的普及,Web应用程序的需求也越来越大,Web框架也随之发展壮大。Python作为一门强大的语言,其在Web开发中也表现出了很大的优势。在众多PythonWeb框架中,Tornado是一款比较优秀的选择。一、什么是TornadoTornado是一个简单的Web框架,由Facebook开源,使用Python语言编写,具有非常高效的IO操作。Torn


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Chinese version
Chinese version, very easy to use

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Mac version
God-level code editing software (SublimeText3)
