Несколько статических каталогов в Python Tornado - PullRequest
3 голосов
/ 14 октября 2010

У меня есть настройка структуры каталогов, например:

root/
  js/
  css/
  libs/
  index.html

В Tornado я хочу служить js, css и libs в качестве статических каталогов, но я могу только узнать, как обслуживать один из них.Можно ли это сделать?

Ответы [ 3 ]

3 голосов
/ 14 октября 2010

Нет, это невозможно.

Конечно, вы можете создать новую папку - parent и поместить js, css и libs внутри этой папки, а затем указать эту родительскую папку как «static_path»

nb.«В производственной среде вы, вероятно, хотите обслуживать статические файлы с более оптимизированного статического файлового сервера, такого как nginx »

2 голосов
/ 11 ноября 2011

Как цитирует Шильдмейер с сайта Tornado, я рекомендую использовать Nginx для обслуживания статических файлов. Ранняя настройка очень удобна и проста. Это также дает вам некоторые другие потенциальные преимущества в будущем:

  • Использование Nginx для балансировки нагрузки
  • Использование Nginx для обработки SSL
1 голос
/ 22 апреля 2017

См. https://stackoverflow.com/a/10165739/1813988

Вы можете установить статический путь для различных ресурсов, установив обработчики, подобные этой (и удалите настройку static_path в приложении):

handlers = [
            (r'/favicon.ico', tornado.web.StaticFileHandler, {'path':  favicon_path}),
            (r'/static/(.*)', tornado.web.StaticFileHandler, {'path': static_path}),
            (r'/', WebHandler)
]
...