2017-01-15 16 views
0

私はWebアプリケーションを作成しようとしています.jorn xhr呼び出しのためにTornado Webを使用しています。しかし、私はメインのアプリを提供する静的なindex.htmlを提供しようとしています。 シンプルなページを提供しても、アプリケーションの残りの部分にリクエストハンドラはありますか?竜巻Webサーバーからindex.htmlを提供

は、ここで私はこれまで試したものです:

import tornado.ioloop 
import tornado.web 
import json 
import os 

games = [...] 

class HomeHandler(tornado.web.RequestHandler): 
    def get(self): 
     self.render('index.html') 

class MatchHandler(tornado.web.RequestHandler): 
    def get(self): 
     self.write(json.dumps(games)) 

path = os.path.join(os.getcwd(), 'app') 
if __name__ == "__main__": 
    application = tornado.web.Application(
     [ 
      (r'/', HomeHandler), 
      (r'/games', MatchHandler), 
      (r'/*.*', tornado.web.StaticFileHandler, {'path': path}) 
     ], 
     template_path=os.path.join(os.path.dirname(__file__), 'app') 
    ) 
    application.listen(16001) 
    tornado.ioloop.IOLoop.current().start() 

感謝を事前に!

答えて

1

をStaticFileHandler正規表現は、Aに必要)キャプチャグループとBを含む)に代えグロブ構文の正規表現構文を使用する:

(r'/(.*\..*)', tornado.web.StaticFileHandler, {'path': path}) 

これは、ドットを含むすべてのパスに一致し、それをStaticFileHandlerに送信します。

1

あなたのコードは私に似ています。アプリケーションを実行するときに、現在の作業ディレクトリの "app"サブディレクトリに "index.html"という名前のファイルを入れ、訪問時の応答を "index.html"とします。http://localhost:16001/

0

コード@ a-jesse-jiryu-davisが答えたので、うまくいくはずです。静的ファイルを提供する必要がある場合は、少し拡張するためにtornado.web.StaticFileHandlerを使用できます。これは、より柔軟に、また、サーバ側のキャッシュを利用する等

関連する問題