Для веб-разработки Python существует большой выбор шаблонизаторов. Моя работа ограничена довольно узким/конкретным набором вариантов использования. Их описание может подсказать тому, кто работает со многими/большинством из них, что один из них лучше подходит для моих конкретных случаев использования. Другими словами, среди этой группы может быть один, который был оптимизирован по спецификации, близкой к моему собственному варианту использования, если это так, я хотел бы знать, что это такое.
Вот критерии, которые описывают эти варианты использования:
серверный язык - python, но я надеюсь, что мне не нужно много выражений python в моих шаблонах
я буду использовать его с веб-серверами python CherryPy и (вероятно) Twisted
jQuery — это язык, на котором написаны библиотеки/плагины для отображения данных.
шаблоны описывают абстрактные веб-страницы, используемые для отображения данных (Информационная панель BI, является точным описанием) после того, как сервер доставляет данные в шаблон (в ответ на выбор формы, отправленный на предыдущая страница) я просто хочу отобразить данные в сетке, например, плагин jqgrid для jQuery, или на графике, например, один из стандартных типов в Flot эм>
производительность критична, но область применения очень узкая — только для обработки данных и рендеринга — я ожидаю, что сетки часто будут заполнены несколькими тысячами строк данных (хотя сама сетка будет разбита на страницы); аналогичным образом, графики могут легко иметь около тысячи точек данных, хотя, опять же, предварительная обработка и вычисления будут выполняться в другом месте.
очень мало необходимости в богатом синтаксисе (нет необходимости в сложном многоходовом ветвлении и т. д.) - я предпочитаю выполнять любую обработку/вычисления на сервере (и опять же, фильтрация данных почти всегда будет выполняться подключаемым модулем jQuery, который я использую для отображения данных)
аналогичным образом взаимодействие пользователя с отображаемыми данными осуществляется через собственные элементы, предоставляемые подключаемым модулем jQuery (например, переход на страницу вверх/вниз, сортировка и т. д.).
«удобный для дизайнера» шаблон на самом деле не важен (не потому, что я не люблю дизайнеров, а потому, что требуемые усилия по дизайну должны быть достаточно низкими, чтобы даже я мог это сделать.