2017-01-15 1 views
0

웹 응용 프로그램을 작성하려고하는데 json xhr 호출에 Tornado Web을 사용하고 있습니다. 하지만 정적 index.html 메인 애플 리케이션을 제공하는 역할을하고 있어요. 간단한 페이지를 제공 할 수 있고 나머지 응용 프로그램에 대한 요청 처리기가 있습니까?토네이도 웹 서버에서 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 정규식이 필요) 포착 기 B를 포함)을 이용할 것이다

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

점을 포함하는 모든 경로와 일치하고 StaticFileHandler로 보냅니다.

1

코드가 올바른 것 같습니다. 앱을 실행할 때 현재 작업 디렉토리의 "app"하위 디렉토리에 파일을 넣고 방문 할 때 "index.html"내용이 응답이됩니다. http://localhost:16001/

0

코드 @ a-jesse-jiryu-davis가 대답 했으므로 제대로 작동해야합니다. 정적 파일을 제공하기 만하면이 파일을 약간 확장하려면 tornado.web.StaticFileHandler을 사용할 수 있습니다. 이것은 유연하게하고, 대신 글롭 구문 정규식 구문을 사용하여 서버 측 캐싱 등

관련 문제