Einführung in Tornado (1): Python Web Framework mit Tornado gestartet

Einführung

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.

Zielgruppe

Erforderliche Umgebung

Über Tornado

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.

Verwenden wir Tornado!

Installation

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. スクリーンショット 2015-10-13 0.11.50.png

Codebeschreibung

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.

Anwendungsobjekt

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.

Referenzmaterial

Recommended Posts

Einführung in Tornado (1): Python Web Framework mit Tornado gestartet
Link, um mit Python zu beginnen
Erste Schritte mit Python-Webanwendungen
Erste Schritte mit Python
Erste Schritte mit Python Web Scraping Practice
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
Web-WF Python Tornado Teil 3 (Einführung in Openpyexcel)
[Einführung in Python] Verwenden wir foreach mit Python
Erste Schritte mit Python Web Scraping Practice
Erstellen Sie ein Webframework mit Python! (1)
Erstellen Sie ein Webframework mit Python! (2)
[FastAPI] Erste Schritte mit FastAPI, einem ASGI-Webframework von Python
Django 1.11 wurde mit Python3.6 gestartet
[Python] Einfache Einführung in das maschinelle Lernen mit Python (SVM)
Einführung in die künstliche Intelligenz mit Python 1 "Genetic Algorithm-Theory-"
Markov Chain Artificial Brainless mit Python + Janome (1) Einführung in Janome
Markov-Kette Künstlich Gehirnlos mit Python + Janome (2) Einführung in die Markov-Kette
Django Python Web Framework
Einführung in die künstliche Intelligenz mit Python 2 "Genetic Algorithm-Practice-"
1.1 Erste Schritte mit Python
Erste Schritte mit Web Scraping
Erste Schritte mit Python
Einführung in die Python-Sprache
Versuchen Sie es mit dem Python-Webframework Tornado Part 1
Einführung in OpenCV (Python) - (2)
Einführung in den Formationsflug mit Tello edu (Python)
[Einführung in Python3 Tag 20] Kapitel 9 Enträtseln des Webs (9.1-9.4)
Einführung in Python mit Atom (unterwegs)
Einführung in das Generalized Linear Model (GLM) von Python
Erste Schritte mit Python
Versuchen Sie es mit dem Python-Webframework Tornado Part 2
[Einführung in die Udemy Python3 + -Anwendung] 9. Drucken Sie zunächst mit print
Zubu Amateur will Python starten
Materialien zum Lesen, wenn Sie mit Python beginnen
[Einführung in Python] Wie iteriere ich mit der Bereichsfunktion?
Ich habe versucht, mit Blenders Python script_Part 01 zu beginnen
[Kapitel 5] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Einführung in die verteilte Parallelverarbeitung von Python durch Ray
Einführung in die Mathematik ab Python Study Memo Vol.1
Lesehinweis: Einführung in die Datenanalyse mit Python
Ich habe versucht, mit Blenders Python script_Part 02 zu beginnen
Super Primer für Python-Erste Schritte mit Python3.5 in 3 Minuten
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 2] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 4] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Stellen Sie mit Python eine Verbindung zu BigQuery her
Einführung in Python-Funktionen
Web Scraping mit Python + JupyterLab
Einführung in Python Django (2) Win
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Erste Schritte mit Python Django (1)
Einführung in RDB mit sqlalchemy Ⅰ
Erste Schritte mit Python Django (4)
Einführung in die serielle Kommunikation [Python]
Erste Schritte mit Python Django (3)
Web-API mit Python + Falcon
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]