Торнадо упаковано в исполняемое яйцо - как справочные шаблоны

1

Я создал веб-сервер Tornado, который мне нужно упаковать как яйцо (используя setuptools)

Проект содержит несколько html-шаблонов и статических изображений, которые я включил в свое яйцо в виде файлов данных. Обратите внимание, что яйцо является исполняемым и не будет установлено. Т.е.

python mytornadoserver.egg

Стандартный способ доступа к html-шаблонам/статическим ресурсам - использовать параметры template_path и static_path. Однако внутри яйца это не сработает.

Я пытаюсь играть с resource_strings, но пока ничего не добился.

Я застрял в данный момент, потому что я не могу загрузить файлы html/image, поэтому я был бы благодарен за любую помощь/советы, которые могут дать любой

Большое спасибо, Маркус

Теги:
tornado
setuptools

1 ответ

1

наконец, решила проблему:

from pkg_resources import resource_filename
template_dir = resource_filename(__name__, "templates")

# then assign the template_dir to your template_path as normal....

resource_files извлекает весь каталог в физическое местоположение файла и возвращает это местоположение.

  • 0
    Это не работает для меня: resource_filename возвращает URL-адрес, например /usr/local/.../myprogram-egg-info/templates но проблема в том, что myprogram-egg-info представляет собой файл egg, а не каталог. Я думаю, что мне нужен способ принудительного извлечения яйца перед вызовом resource_filename (или, лучше, установить программу в каталог вместо файла яйца ...)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню