Tornadoを使ってHTMLページを表示させる
前回の記事の続きでTornadoを使ってHTMLページを表示させたいと思います。
ただ今回は前回と違って、ヒアドキュメントを使ったHTMLの表示ではなく
TornadoからHTMLファイルを呼び出す事で表示させます。
Tornadoファイルの用意
それでは前回記事で使ったTornadoファイルのヒアドキュメント部分を
削除したものを用意します。
このプログラムは実行するとブラウザに”hello world”の文字列を返えします。
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()
HTMLファイルの用意
HTMLファイルはネットで適当に転がっているサンプルを使用します。
<!DOCTYPE html> <html> <head> </head> <body> <p>hello,world</p> </body> </html>
Tornadoのstaticpathを使って静的ファイル(HTMLファイル)を指定する
参考URL:https://sites.google.com/site/tornadowebja/documentation/overview
上記URLを参考にしてTornadoファイルを変更していきます。
まず、def make_app():を下記コードのように変更します。
def make_app(): settings = { "static_path": os.path.join(os.path.dirname(__file__), "static"), } return tornado.web.Application([ (r"/", MainHandler), ], **settings)
これでstaticpathの設定は完了です。
次にlocalhost:8888にアクセスした際にHTMLファイルを見に行く設定を行います。
MainHandler内を下記コードのように変更します。
class MainHandler(tornado.web.RequestHandler): def get(self): self.render("static/E4.html")
これでTornadoファイルを保存して実行してみます。
問題なければ正常にHTMLファイルが表示されます。