Python-Tornado-Tutorial

Python-Tornado-Tutorial

Was ist Python Tornado?

Python Tornado ist ein nicht blockierendes E/A-basiertes Webserver-Framework, das eine Ereignisschleife verwendet, um gleichzeitige Anforderungen zu verarbeiten. Tornado eignet sich für Szenarien mit hoher Parallelität, z. B. Echtzeit-Chat, Push-Service usw.

Installieren

Stellen Sie zunächst sicher, dass Python und Pip installiert sind. Anschließend installieren Sie Tornado mit dem folgenden Befehl:

pip install tornado

Hallo Welt

Hier ist ein einfaches Tornado Hello World-Beispiel:

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, World!")

def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

Führen Sie das Skript in der Befehlszeile aus, rufen Sie es dann in Ihrem Browser auf http://localhost:8888und Sie sehen die Ausgabe „Hello, World!“.

Routenführung

Tornado verwendet reguläre Ausdrücke, um Routen zu definieren. Im obigen Beispiel (r"/", MainHandler)wird eine Root-Route definiert, die Anforderungen MainHandlerder Klasse zuordnet.

Parameter in der URL können durch reguläre Ausdrücke erfasst und an die Handlerfunktion übergeben werden. Beispielsweise wird (r"/user/(\d+)", UserHandler)„will match“ /user/123und 123als Parameter an UserHandlerdie Klasse übergeben.

asynchrone Verarbeitung

Tornado unterstützt die asynchrone Verarbeitung für eine verbesserte Leistung. In Request-Handler-Funktionen tornado.genkann der Dekorator des Moduls zum Markieren asynchroner Funktionen verwendet werden. Hier ist ein Beispiel:

import tornado.ioloop
import tornado.web
import tornado.gen

class MainHandler(tornado.web.RequestHandler):
    @tornado.gen.coroutine
    def get(self):
        result = yield self.async_function()
        self.write(result)

    @tornado.gen.coroutine
    def async_function(self):
        # 模拟一个异步操作
        yield tornado.gen.sleep(1)
        raise tornado.gen.Return("Async Function Result")

def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

Im obigen Beispiel wird die Methode getmithilfe des Dekorators tornado.gen.coroutineals asynchrone Funktion markiert . In einer asynchronen Funktion können Sie yielddas Schlüsselwort verwenden, um die Ausführung der Funktion anzuhalten und auf den Abschluss des asynchronen Vorgangs zu warten.

Zusammenfassen

Dieses Tutorial behandelt die Grundlagen der Verwendung von Python Tornado, einschließlich der Installation, eines Hello World-Beispiels, Routing und asynchroner Verarbeitung. Ich hoffe, dies hilft Ihnen dabei, schnell mit Tornado loszulegen und leistungsstarke Webanwendungen zu erstellen. Eine ausführliche Dokumentation und Beispiele finden Sie auf der offiziellen Tornado-Website.

Supongo que te gusta

Origin blog.csdn.net/sinat_35773915/article/details/132034241
Recomendado
Clasificación