J'ai joué avec Tornado récemment, donc je vais vous montrer comment l'utiliser.
Cette fois, c'est presque une refonte du Top officiel. Veuillez attendre avec impatience la prochaine fois. Si vous avez des questions ou des demandes, nous y répondrons.
Mon environnement d'exécution est le suivant, mais je pense qu'il n'y a pas de problème s'il s'agit d'un environnement dans lequel Python fonctionne.
Tornado est un framework web / bibliothèque de communication asynchrone écrite en Python et possède les fonctionnalités suivantes.
À partir de maintenant, nous nous occuperons de tout, de l'installation à Hello et world.
Installez Tornado avec pip.
$ pip install tornado
Si vous n'avez pas installé pip, vous devez l'installer en vous référant au site suivant.
Si vous ne souhaitez pas utiliser pip, supprimez tar.gz et utilisez setup.py comme d'habitude.
tar xvzf tornado-3.2.2.tar.gz
cd tornado-3.2.2
python setup.py build
sudo python setup.py install
Hello, world Une fois installé, tout ce que vous avez à faire est d'importer, d'écrire le code approprié et d'écouter. Ici, comme exemple le plus simple, affichons la chaîne «Hello, world» dans le navigateur. Pour afficher Hello, world, enregistrez et exécutez le code suivant dans un répertoire approprié avec un nom approprié (server.py dans ce cas).
server.py
#!/bin/env python
# -*- coding: utf-8 -*-
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.instance().start()
Donnez simplement un script à python.
$ python server.py
Rien n'est affiché dans le terminal, mais si vous y accédez avec un navigateur dans cet état, "Hello, world" sera affiché.
C'est ennuyeux juste d'afficher la chaîne de caractères, donc j'essaierai au moins de renvoyer le fichier html. Préparez une feuille de style et un fichier HTML, et réécrivez server.py comme suit. Avec toutes ces connaissances, vous devriez être en mesure de créer un site Web ancien qui renvoie des pages statiques correctement stylisées.
Préparez style.css dans le répertoire static et index.html dans le répertoire templates.
$ tree --charset=x
.
|-- server.py
|-- static
| `-- style.css
`-- templates
`-- index.html
Les principaux changements dans server.py sont les suivants.
server.py
#!/bin/env python
# -*- coding: utf-8 -*-
from __future__ import print_function
import os
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render("index.html")
application = tornado.web.Application([
(r"/", MainHandler)
],
template_path=os.path.join(os.getcwd(), "templates"),
static_path=os.path.join(os.getcwd(), "static"),
)
if __name__ == "__main__":
application.listen(8888)
print("Server is up ...")
tornado.ioloop.IOLoop.instance().start()
style.css
body {
font-family:'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'Hiragino Kakugo ProN W3', "MS P gothique", sans-serif;
width: 80%;
margin: 0 auto;
}
p {
color:#BEAF71;
font-size:200%;
}
index.html
<!DOCTYPE html>
<html>
<head>
<title>Hello, world</title>
<link rel="stylesheet" href="{{ static_url("style.css") }}"/>
</head>
<body>
<div id="container">
<div id="main">
<p>Hello, world</p>
</div>
</div>
</body>
</html>
$ python server.py
print("Server is up ...")
Vous pouvez voir que le HTML est certainement retourné.