In dieser Reihe werden wir vorstellen, wie Anwendungen mit Tornado entwickelt werden, einem Webserver- und Webanwendungsframework, das auf Python ausgeführt wird. Der Inhalt dieser Reihe ist wie folgt.
In dieser Einführung werden zunächst die Funktionen von Tornado, das Umgebungseinstellungsverfahren und die Erstellung der Anwendung "Hello, World" vorgestellt.
Tornado ist ein nicht blockierender Open Source-Webserver und ein Web-Framework, das auf Apache License 2.0 basiert. Tornado ist ein Framework, das von FriendFeed entwickelt, von Facebook übernommen und dann als Open-Source-Version bereitgestellt wird. Es verfügt über die folgenden Funktionen.
Während Django ein Full-Stack-Framework ist, ist Tornado eine Art Framework, das die benötigten Komponenten kombiniert. Tornado ist äußerst vielseitig und verfügt über eine Fülle von Originaldokumentationen. Im Gegensatz dazu gibt es wenig japanische Informationen, aber ich denke, es wird sehr nützlich sein, wenn sie verwendet werden können.
Mit Pip wie folgt installieren.
$ pip install tornado
Hello World Unten ist der offizielle Hello World Code. Es ist ein kurzer Code mit minimalem Schreibaufwand, aber er funktioniert.
app.py
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.current().start()
Speichern Sie den obigen Code als app.py und versuchen Sie, ihn wie folgt auszuführen:
$ python app.py
Wenn Sie auf die lokale Hostnummer 8888 ([http: // localhost: 8888 /](http: // localhost: 8888 /)) zugreifen und die folgenden Hello World-Zeichen angezeigt werden, ist dies erfolgreich.
Ich werde die folgenden zwei wichtigen Punkte in app.py erklären.
RequestHandler Die RequestHandler-Klasse ist die Basisklasse für die Verarbeitung von HTTP-Anforderungen. Um die eigentliche Anforderung zu verarbeiten, müssen Sie eine Unterklasse der RequestHandler-Klasse erstellen. Schauen Sie sich das Code-Snippet unten an.
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
In diesem Code wird die MainHandler-Klasse durch Erben der RequestHandler-Klasse erstellt. Bei der Verarbeitung einer Anforderung instanziiert Tornado diese MainHandler-Klasse und ruft die Methode auf, die der HTTP-Methode der Anforderung entspricht. In diesem Beispiel wird nur die get-Methode definiert, sodass nur HTTP-GET-Anforderungen verarbeitet werden können. Zusätzlich zur get-Methode gibt es Post-, Lösch-, Put-Methoden usw., die POST, DELETE, PUT usw. unterstützen. Auf diese Weise kann die zu verarbeitende Methode automatisch nach dem Typ der HTTP-Anforderung getrennt werden, sodass eine Methode vereinfacht werden kann.
Das Anwendungsobjekt wird verwendet, um Einstellungen für die gesamte Anwendung zu konfigurieren.
application = tornado.web.Application([
(r"/", MainHandler),
])
Dieser Code erstellt eine Instanz der Application-Klasse. Das Wichtigste ist, beim Erstellen einer Anwendungsinstanz eine Liste von Taples als Argument zu übergeben. Dieses Taple beschreibt die Entsprechung zwischen der URL und dem Handler. Dies teilt Tornado mit, welcher Handler welche Anfrage bearbeiten soll. Im obigen Beispiel bedeutet dies, dass die Verarbeitung von MainHandler ausgeführt wird, wenn auf "[http://example.com/ lightboxes(http://example.com/)" zugegriffen wird. Wenn Sie r "/ hoge /" geschrieben haben, müssen Sie auf "http://example.com/hoge/" zugreifen.
Recommended Posts