Maison développement back-end Tutoriel Python 高性能web服务器框架Tornado简单实现restful接口及开发实例

高性能web服务器框架Tornado简单实现restful接口及开发实例

Jun 16, 2016 am 08:43 AM
tornado web框架

有个朋友让我搞搞tornado框架,说实话,这个框架我用的不多。。。

我就把自己的一些个运维研发相关的例子,分享给大家。

怎么安装tornado,我想大家都懂。

pip install tornado
Copier après la connexion

再来说说他的一些个模块,官网有介绍的。我这里再啰嗦的复读机一下,里面掺夹我的理解。

主要模块
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), 
])

Copier après la connexion

这样我们访问 /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"))

Copier après la connexion

在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() 
Copier après la connexion

#大家可以写个form测试,也可以用curl -d测试

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Créez des applications Web à l'aide du framework Web de Golang Buffalo Créez des applications Web à l'aide du framework Web de Golang Buffalo Jun 24, 2023 am 10:27 AM

Buffalo est un framework Web développé à l'aide de Golang qui fournit une solution pour le développement rapide d'applications Web. Dans cet article, nous présenterons comment utiliser Buffalo pour créer une application Web. Installer Buffalo Tout d'abord, nous devons installer Buffalo localement. Buffalo fournit un outil de ligne de commande pratique grâce auquel vous pouvez créer et exécuter des applications. Avant l'installation, assurez-vous que Golang et Node.js sont installés. Cependant

Partager un framework web Nodejs : Fastify Partager un framework web Nodejs : Fastify Aug 04, 2022 pm 09:23 PM

Cet article partagera avec vous un framework web Nodejs : Fastify. Il présentera brièvement les fonctionnalités prises en charge par Fastify, les plug-ins pris en charge par Fastify et comment utiliser Fastify.

Comparaison du framework Web du langage Go : gin contre echo contre iris Comparaison du framework Web du langage Go : gin contre echo contre iris Jun 17, 2023 pm 07:44 PM

Alors que la demande de développement Web continue d'augmenter, les frameworks Web dans différents langages se diversifient progressivement, et le langage Go ne fait pas exception. Parmi les nombreux frameworks Web du langage Go, gin, echo et iris sont les trois frameworks les plus populaires. Dans cet article, nous comparerons les avantages et les inconvénients de ces trois frameworks pour vous aider à choisir celui qui convient le mieux à votre projet. Gingin est un framework Web léger offrant des performances et une flexibilité élevées. Il prend en charge les fonctionnalités de middleware et de routage, ce qui le rend idéal pour créer RESTful

Comment implémenter un framework Web léger en utilisant PHP et Slim Comment implémenter un framework Web léger en utilisant PHP et Slim Jun 25, 2023 pm 01:03 PM

Les frameworks Web font désormais partie intégrante du développement d'applications Web modernes, fournissant une infrastructure qui permet aux développeurs de créer et de déployer leurs applications plus rapidement. Dans le développement PHP, Slim est un framework Web léger connu pour sa facilité d'utilisation et son développement rapide. Cet article vous montrera comment créer une application Web simple mais puissante en utilisant PHP et Slim. Qu’est-ce que Slim ? Slim est un framework web léger écrit dans le langage PHP son cœur.

Solution à NotImplementedError() Solution à NotImplementedError() Mar 01, 2024 pm 03:10 PM

La raison de l'erreur est en python. La raison pour laquelle NotImplementedError() est lancée dans Tornado peut être due au fait qu'une méthode ou une interface abstraite n'est pas implémentée. Ces méthodes ou interfaces sont déclarées dans la classe parent mais non implémentées dans la classe enfant. Les sous-classes doivent implémenter ces méthodes ou interfaces pour fonctionner correctement. Comment résoudre ce problème consiste à implémenter la méthode abstraite ou l'interface déclarée par la classe parent dans la classe enfant. Si vous utilisez une classe pour hériter d'une autre classe et que vous voyez cette erreur, vous devez implémenter toutes les méthodes abstraites déclarées dans la classe parent dans la classe enfant. Si vous utilisez une interface et que vous voyez cette erreur, vous devez implémenter toutes les méthodes déclarées dans l'interface dans la classe qui implémente l'interface. Si vous n'êtes pas sûr de savoir lequel

Développement de framework Web et de services Web en langage Go Développement de framework Web et de services Web en langage Go Jun 03, 2023 am 08:02 AM

Le langage Go est devenu de plus en plus populaire dans le domaine du développement Web ces dernières années. D'une part, ses performances et ses caractéristiques de concurrence sont excellentes, et il est très adapté au traitement de requêtes Web hautement concurrentes ; d'autre part, son efficacité de développement s'est progressivement améliorée et de plus en plus de frameworks et d'outils de développement Web ont été lancés. Cet article présentera principalement le contenu pertinent du développement de frameworks Web et de services Web en langage Go. Que vous soyez débutant en développement Web ou développeur avec une certaine expérience, vous pouvez découvrir les connaissances et techniques pertinentes du développement Web en langage Go à travers cet article.

Créez rapidement des applications Web à l'aide du framework Web de Golang beego Créez rapidement des applications Web à l'aide du framework Web de Golang beego Jun 24, 2023 am 11:22 AM

Avec le développement et la popularisation de la technologie Internet, la demande d'applications Web augmente et la création d'applications Web de manière rapide et efficace est devenue un besoin urgent pour les développeurs. Les caractéristiques dynamiques de Golang, ses capacités d'exécution efficaces et ses frameworks Web riches sont devenus le premier choix de nombreux développeurs. Parmi les nombreux frameworks Web Golang, beego est un framework Web rapide, concis, efficace et facile à utiliser. Il s'appuie sur le package HTTP natif de Go, prend en charge RESTful, le mode MVC et est livré avec ORM et.

Implémentation d'une passerelle API à l'aide du framework Web Iris de Golang Implémentation d'une passerelle API à l'aide du framework Web Iris de Golang Jun 24, 2023 am 11:24 AM

Une passerelle API est un service réseau utilisé pour gérer et acheminer les requêtes API (Application Programming Interface). C'est un intermédiaire qui reçoit les demandes des clients et les transmet au service backend. L'avantage d'une passerelle API est qu'elle peut fournir une interface cohérente pour plusieurs services et fournir des fonctionnalités telles que la sécurité et la surveillance. Dans cet article, nous allons implémenter une passerelle API à l'aide du framework Web Iris de Golang. Le framework Iris est un framework Web hautes performances conçu pour être simple, rapide, facile à développer et à maintenir. Boîte à iris

See all articles