Heim Backend-Entwicklung Python-Tutorial 高性能web服务器框架Tornado简单实现restful接口及开发实例

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

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

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

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

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

pip install tornado
Nach dem Login kopieren

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

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

Nach dem Login kopieren

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

Nach dem Login kopieren

在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() 
Nach dem Login kopieren

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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erstellen Sie Webanwendungen mit Golangs Web-Framework Buffalo Erstellen Sie Webanwendungen mit Golangs Web-Framework Buffalo Jun 24, 2023 am 10:27 AM

Buffalo ist ein mit Golang entwickeltes Web-Framework, das eine Lösung für die schnelle Entwicklung von Webanwendungen bietet. In diesem Artikel stellen wir vor, wie Sie mit Buffalo eine Webanwendung erstellen. Buffalo installieren Zuerst müssen wir Buffalo lokal installieren. Buffalo bietet ein praktisches Befehlszeilentool, mit dem Sie Anwendungen erstellen und ausführen können. Stellen Sie vor der Installation sicher, dass Golang und Node.js installiert sind. Ran

Teilen Sie ein Nodejs-Webframework: Fastify Teilen Sie ein Nodejs-Webframework: Fastify Aug 04, 2022 pm 09:23 PM

In diesem Artikel stellen wir Ihnen ein Nodejs-Webframework vor: Fastify. Es stellt kurz die von Fastify unterstützten Funktionen und die Verwendung von Fastify vor.

Go Language Web Framework-Vergleich: Gin vs. Echo vs. Iris Go Language Web Framework-Vergleich: Gin vs. Echo vs. Iris Jun 17, 2023 pm 07:44 PM

Da die Nachfrage nach Webentwicklung weiter steigt, werden Web-Frameworks in verschiedenen Sprachen nach und nach diversifiziert, und die Go-Sprache bildet da keine Ausnahme. Unter den vielen Web-Frameworks in der Go-Sprache sind Gin, Echo und Iris die drei beliebtesten Frameworks. In diesem Artikel vergleichen wir die Vor- und Nachteile dieser drei Frameworks, um Ihnen bei der Auswahl des richtigen Frameworks für Ihr Projekt zu helfen. Gingin ist ein leichtes Webframework, das sich durch hohe Leistung und Flexibilität auszeichnet. Es unterstützt Middleware- und Routing-Funktionen und eignet sich daher ideal für die Erstellung von RESTful

So implementieren Sie ein leichtes Webframework mit PHP und Slim So implementieren Sie ein leichtes Webframework mit PHP und Slim Jun 25, 2023 pm 01:03 PM

Web-Frameworks sind zu einem integralen Bestandteil der modernen Webanwendungsentwicklung geworden und bieten eine Infrastruktur, die es Entwicklern ermöglicht, ihre Anwendungen schneller zu erstellen und bereitzustellen. In der PHP-Entwicklung ist Slim ein leichtes Web-Framework, das für seine Benutzerfreundlichkeit und schnelle Entwicklung bekannt ist. In diesem Artikel erfahren Sie, wie Sie mit PHP und Slim eine einfache, aber leistungsstarke Webanwendung erstellen. Was ist Slim? Slim ist ein leichtes Web-Framework, das im Kern in der Sprache PHP geschrieben ist

Lösung für NotImplementedError() Lösung für NotImplementedError() Mar 01, 2024 pm 03:10 PM

Der Grund für den Fehler liegt in Python. Der Grund, warum NotImplementedError() in Tornado ausgelöst wird, kann darin liegen, dass eine abstrakte Methode oder Schnittstelle nicht implementiert ist. Diese Methoden oder Schnittstellen werden in der übergeordneten Klasse deklariert, aber nicht in der untergeordneten Klasse implementiert. Unterklassen müssen diese Methoden oder Schnittstellen implementieren, um ordnungsgemäß zu funktionieren. Die Lösung dieses Problems besteht darin, die von der übergeordneten Klasse deklarierte abstrakte Methode oder Schnittstelle in der untergeordneten Klasse zu implementieren. Wenn Sie eine Klasse verwenden, um von einer anderen Klasse zu erben, und dieser Fehler angezeigt wird, sollten Sie alle in der übergeordneten Klasse deklarierten abstrakten Methoden in der untergeordneten Klasse implementieren. Wenn Sie eine Schnittstelle verwenden und dieser Fehler angezeigt wird, sollten Sie alle in der Schnittstelle deklarierten Methoden in der Klasse implementieren, die die Schnittstelle implementiert. Wenn Sie sich nicht sicher sind, welches

Web-Framework und Web-Service-Entwicklung in der Go-Sprache Web-Framework und Web-Service-Entwicklung in der Go-Sprache Jun 03, 2023 am 08:02 AM

Die Go-Sprache ist in den letzten Jahren im Bereich der Webentwicklung immer beliebter geworden. Einerseits sind seine Leistungs- und Parallelitätseigenschaften hervorragend und es eignet sich sehr gut für die Verarbeitung hochgradig gleichzeitiger Webanforderungen. Andererseits hat sich seine Entwicklungseffizienz schrittweise verbessert und es wurden immer mehr Web-Frameworks und Entwicklungstools eingeführt. In diesem Artikel werden hauptsächlich die relevanten Inhalte der Entwicklung von Web-Frameworks und Webdiensten in der Go-Sprache vorgestellt. Unabhängig davon, ob Sie ein Anfänger in der Webentwicklung oder ein Entwickler mit etwas Erfahrung sind, können Sie in diesem Artikel mehr über die relevanten Kenntnisse und Techniken der Webentwicklung in der Go-Sprache erfahren.

Erstellen Sie schnell Webanwendungen mit dem Web-Framework beego von Golang Erstellen Sie schnell Webanwendungen mit dem Web-Framework beego von Golang Jun 24, 2023 am 11:22 AM

Mit der Entwicklung und Popularisierung der Internet-Technologie werden immer mehr Anforderungen an Webanwendungen gestellt. Die schnelle und effiziente Erstellung von Webanwendungen ist für Entwickler zu einem dringenden Bedarf geworden. Die dynamischen Eigenschaften, die effizienten Ausführungsmöglichkeiten und die umfangreichen Web-Frameworks von Golang sind für viele Entwickler zur ersten Wahl geworden. Unter den vielen Golang-Webframeworks ist beego ein schnelles, prägnantes, effizientes und benutzerfreundliches Webframework. Es basiert auf dem nativen HTTP-Paket von Go, verfügt über RESTful-Unterstützung, MVC-Modus und wird mit ORM und geliefert

Implementierung eines API-Gateways mithilfe des Golang-Webframeworks Iris-Framework Implementierung eines API-Gateways mithilfe des Golang-Webframeworks Iris-Framework Jun 24, 2023 am 11:24 AM

Ein API-Gateway ist ein Netzwerkdienst, der zum Verwalten und Weiterleiten von API-Anfragen (Application Programming Interface) verwendet wird. Dabei handelt es sich um einen Vermittler, der Kundenanfragen entgegennimmt und diese an den Backend-Dienst weiterleitet. Der Vorteil eines API-Gateways besteht darin, dass es eine konsistente Schnittstelle für mehrere Dienste bereitstellen und Funktionen wie Sicherheit und Überwachung bereitstellen kann. In diesem Artikel implementieren wir ein API-Gateway mithilfe des Iris-Frameworks von Golang. Das Iris-Framework ist ein leistungsstarkes Web-Framework, das einfach, schnell, leicht skalierbar und wartbar ist. Iris-Box

See all articles