Я занимаюсь созданием веб-приложения с использованием cherrypy.
Какую технологию шаблонов вы рекомендуете использовать?
Я занимаюсь созданием веб-приложения с использованием cherrypy.
Какую технологию шаблонов вы рекомендуете использовать?
Вы имеете в виду View in MVC? Я рекомендую вам очень хороший шаблонный движок Jinja2.
Если вы имеете в виду механизм шаблонов, у меня был некоторый успех, используя mako с помощью cherrypy. Они просто прекрасно играют вместе.
Мако очень легко начать и настроить, что, я полагаю, также две из ваших основных причин выбора cherrypy. В официальном учебнике Cherrypy также используется mako, и вы можете увидеть простую примерную программу.
Мне нравится Cheetah.
Мне нравится Генши.
Одна из причин, по которой мне это нравится, просто заключается в том, что синтаксис XML выглядит намного чище для меня, когда вы смешиваете его с HTML и синтаксисом текстового уровня других популярных шаблонов. Например, приятно иметь возможность использовать py: для атрибута для вывода таблицы против вложенности messy #if или любых строк.
Другая причина состоит в том, что, поскольку он основан на XML и обрабатывает ваш HTML как XML, он гарантирует, что ваша разметка синтаксически корректна, т.е. что теги закрыты и правильно вложены, специальные символы правильно экранированы и т.д. Другие шаблонные модули будет просто обрабатывать ваш HTML как текст и выводить все, что вы дадите, без дополнительных проверок суеты.
Основным недостатком Genshi является то, что он намного медленнее, чем более быстрые текстовые двигатели. Однако его производительность должна быть достаточно хорошей для большинства сайтов. Если у вас нет сайта, который имеет особую потребность в рендеринге текста /HTML с очень высокой скоростью, читаемость и проверка синтаксиса, которые Genshi обеспечивают, вероятно, перевешивают производительность.
A Zen master, вероятно, ответит: "Да".
Если вы создаете веб-интерфейс, я бы выбрал механизм, который предоставляет читаемые шаблоны разметки, такие как Genshi.
Если вы строите сервер отдыха и должны возвращать другие типы данных, я бы пошел с одним из более ориентированных на текст движков, таких как Cheetah или Mako.
Для создания HTML-страниц я предпочитаю Genshi над Cheetah или Mako, даже если он немного медленнее. При возврате JSON я предпочитаю более быстрые текстовые механизмы.
И поскольку Cherrypy является агностиком, вы можете использовать оба, если вам это нужно.
Существует также Genshi Их учебник основан на использовании cherrypy