Я пытаюсь служить странице из статического каталога, используя Tornado API в Python. This answer is similar to what I am trying to do, но я не могу заставить его работать.Python Tornado render static directory
Моя структура каталогов выглядит следующим образом (все статические файлы находятся в папке под названием web
):
У меня есть настройки веб-сервера, как это:
class Application(tornado.web.Application):
def __init__(self):
handlers = [
(r'/ws', WSHandler),
(r'/', IndexHandler),
]
settings = {
"debug": True,
"static_path": os.path.join(os.path.dirname(__file__), "web")
}
tornado.web.Application.__init__(self, handlers, **settings)
http_server = tornado.httpserver.HTTPServer(Application())
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
я думал эта линия:
"static_path": os.path.join(os.path.dirname(__file__), "web")
может быть исправлена проблема, но когда я указываю на index.html
файла:
class IndexHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
def get(self):
self.render('web/index.html')
Он служит страницу, как ожидалось, но печатает сообщение об ошибке в консоли:
WARNING:tornado.access:404 GET /css/reset.css (::1) 3.57ms
WARNING:tornado.access:404 GET /js/lib/custom-marker.js (::1) 0.96ms
WARNING:tornado.access:404 GET /js/map.js (::1) 2.08ms
WARNING:tornado.access:404 GET /js/websocket-client.js (::1) 1.56ms
WARNING:tornado.access:404 GET /css/index.css (::1) 0.89ms
В этом минималистском примере , как я могу исправить свою проблему? Где он пытается указать и не в состоянии найти файлы?
Любая помощь, которую вы могли бы предложить, была бы очень признательна!
Ничего себе! Спасибо огромное! –
Точно. цитируя: «Этот параметр автоматически сделает все запросы, которые начинаются с/static/serve из этого статического каталога, например http: // localhost: 8888/static/foo.png будет служить файлу foo.png из указанного статического каталога. " – Ross