У меня есть настройка структуры каталогов, например:
root/ js/ css/ libs/ index.html
В Tornado я хочу служить js, css и libs в качестве статических каталогов, но я могу только узнать, как обслуживать один из них.Можно ли это сделать?
Нет, это невозможно.
Конечно, вы можете создать новую папку - parent и поместить js, css и libs внутри этой папки, а затем указать эту родительскую папку как «static_path»
nb.«В производственной среде вы, вероятно, хотите обслуживать статические файлы с более оптимизированного статического файлового сервера, такого как nginx »
Как цитирует Шильдмейер с сайта Tornado, я рекомендую использовать Nginx для обслуживания статических файлов. Ранняя настройка очень удобна и проста. Это также дает вам некоторые другие потенциальные преимущества в будущем:
См. https://stackoverflow.com/a/10165739/1813988
Вы можете установить статический путь для различных ресурсов, установив обработчики, подобные этой (и удалите настройку static_path в приложении):
static_path
handlers = [ (r'/favicon.ico', tornado.web.StaticFileHandler, {'path': favicon_path}), (r'/static/(.*)', tornado.web.StaticFileHandler, {'path': static_path}), (r'/', WebHandler) ]