Tôi đang cố gắng phân phối một trang từ một thư mục tĩnh bằng cách sử dụng API Tornado bằng Python. This answer is similar to what I am trying to do, nhưng tôi không thể làm cho nó hoạt động.Python Tornado hiển thị thư mục tĩnh
cấu trúc thư mục của tôi trông như thế này (tất cả các file tĩnh là bên trong một thư mục có tên web
):
Tôi có một thiết lập máy chủ web như thế này:
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()
tôi nghĩ dòng này:
"static_path": os.path.join(os.path.dirname(__file__), "web")
có thể đã cố định được vấn đề, nhưng khi tôi trỏ đến index.html
file:
class IndexHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
def get(self):
self.render('web/index.html')
Nó phục vụ các trang như mong đợi, nhưng in thông báo lỗi này ra cửa sổ Console:
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
Trong ví dụ Minimalistic này , làm cách nào để khắc phục sự cố của tôi? Nó cố gắng trỏ đến đâu và không thể tìm thấy các tập tin?
Bất kỳ trợ giúp nào bạn có thể cung cấp sẽ được đánh giá rất nhiều!
Wow đã làm việc! Cảm ơn bạn rất nhiều! –
Chính xác. quoting: "Cài đặt này sẽ tự động thực hiện tất cả các yêu cầu bắt đầu bằng/static/serve từ thư mục tĩnh đó, ví dụ: http: // localhost: 8888/static/foo.png sẽ phục vụ tệp foo.png từ thư mục tĩnh được chỉ định. " – Ross