Dans cette série, nous présenterons comment développer des applications avec Tornado, un serveur Web et un framework d'applications Web qui s'exécutent sur Python. Le contenu de cette série est le suivant.
Dans cette introduction, nous présenterons tout d'abord les fonctionnalités de Tornado, la procédure de paramétrage de l'environnement et la création de l'application "Hello, World".
Tornado est un serveur Web open source non bloquant et un framework Web basé sur Apache License 2.0. Tornado est un framework développé par FriendFeed, absorbé par Facebook, puis open-source.Il présente les fonctionnalités suivantes.
Alors que Django est un framework full-stack, Tornado est un type de framework qui combine les composants dont vous avez besoin. Tornado est extrêmement polyvalent et possède une riche documentation originale. En revanche, il y a peu d'informations japonaises, mais je pense qu'elles seront très utiles si elles peuvent être utilisées.
Installez avec pip comme suit.
$ pip install tornado
Hello World Vous trouverez ci-dessous le code officiel de Hello World. C'est un code court avec un minimum d'écriture, mais cela fonctionne.
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()
Enregistrez le code ci-dessus sous app.py et essayez de l'exécuter comme ceci:
$ python app.py
Si vous accédez au numéro d'hôte local 8888 ([http: // localhost: 8888 /](http: // localhost: 8888 /)) et que les caractères Hello World suivants sont affichés, l'opération réussit.
J'expliquerai les deux points importants suivants dans app.py.
RequestHandler La classe RequestHandler est la classe de base pour le traitement des requêtes HTTP. Afin de gérer la demande réelle, vous devez créer une sous-classe de la classe RequestHandler. Jetez un œil à l'extrait de code ci-dessous.
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
Dans ce morceau de code, la classe MainHandler est créée en héritant de la classe RequestHandler. Lors du traitement d'une requête, Tornado instancie cette classe MainHandler et appelle la méthode qui correspond à la méthode HTTP de la requête. Dans cet exemple, seule la méthode get est définie, donc seules les requêtes HTTP GET peuvent être traitées. En plus de la méthode get, il existe des méthodes post, delete, put, etc. qui prennent en charge POST, DELETE, PUT, etc. De cette manière, la méthode à traiter peut être automatiquement séparée en fonction du type de requête HTTP, une méthode peut donc être simplifiée.
L'objet Application est utilisé pour configurer les paramètres de l'ensemble de l'application.
application = tornado.web.Application([
(r"/", MainHandler),
])
Ce morceau de code crée une instance de la classe Application. L'important est de passer une liste de taples comme argument lors de la création d'une instance Application. Ce taple décrit la correspondance entre l'URL et le gestionnaire. Cela indique à Tornado quel gestionnaire doit gérer quelle requête. Dans le cas de l'exemple ci-dessus, cela signifie que lors de l'accès à "[http://example.com/ (http://example.com/)", le traitement est effectué par MainHandler. Si vous avez écrit r "/ hoge /", vous devez accéder à "http://example.com/hoge/".
Recommended Posts