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ファイルが表示されます。