Рекомендации по оптимальному механизму шаблонов для Python Web Dev в конкретном случае использования

Для веб-разработки Python существует большой выбор шаблонизаторов. Моя работа ограничена довольно узким/конкретным набором вариантов использования. Их описание может подсказать тому, кто работает со многими/большинством из них, что один из них лучше подходит для моих конкретных случаев использования. Другими словами, среди этой группы может быть один, который был оптимизирован по спецификации, близкой к моему собственному варианту использования, если это так, я хотел бы знать, что это такое.

Вот критерии, которые описывают эти варианты использования:

  • серверный язык - python, но я надеюсь, что мне не нужно много выражений python в моих шаблонах

  • я буду использовать его с веб-серверами python CherryPy и (вероятно) Twisted

  • jQuery — это язык, на котором написаны библиотеки/плагины для отображения данных.

  • шаблоны описывают абстрактные веб-страницы, используемые для отображения данных (Информационная панель BI, является точным описанием) после того, как сервер доставляет данные в шаблон (в ответ на выбор формы, отправленный на предыдущая страница) я просто хочу отобразить данные в сетке, например, плагин jqgrid для jQuery, или на графике, например, один из стандартных типов в Flot

  • производительность критична, но область применения очень узкая — только для обработки данных и рендеринга — я ожидаю, что сетки часто будут заполнены несколькими тысячами строк данных (хотя сама сетка будет разбита на страницы); аналогичным образом, графики могут легко иметь около тысячи точек данных, хотя, опять же, предварительная обработка и вычисления будут выполняться в другом месте.

  • очень мало необходимости в богатом синтаксисе (нет необходимости в сложном многоходовом ветвлении и т. д.) - я предпочитаю выполнять любую обработку/вычисления на сервере (и опять же, фильтрация данных почти всегда будет выполняться подключаемым модулем jQuery, который я использую для отображения данных)

  • аналогичным образом взаимодействие пользователя с отображаемыми данными осуществляется через собственные элементы, предоставляемые подключаемым модулем jQuery (например, переход на страницу вверх/вниз, сортировка и т. д.).

  • «удобный для дизайнера» шаблон на самом деле не важен (не потому, что я не люблю дизайнеров, а потому, что требуемые усилия по дизайну должны быть достаточно низкими, чтобы даже я мог это сделать.


person doug    schedule 27.09.2011    source источник


Ответы (3)


Если ваши требования к шаблонам действительно просты, я предлагаю вам использовать встроенный Python String Механизм форматирования...

person gecco    schedule 27.09.2011

Вы можете взглянуть на Jinja2. Он предлагает предварительную компиляцию шаблонов, поддерживает знакомый синтаксис Python и не зависит от фреймворка.

person patrys    schedule 27.09.2011

Мако, Jinja2, Cheetah и движок шаблонов Django делает это. Если на то пошло, все из этого списка будет работать, а также: http://wiki.python.org/moin/Templating

Ни одно из требований не представляет особого интереса. Они не указывают ни на какой продукт, потому что они очень общие.

Кроме этого, что не принадлежит.

аналогичным образом взаимодействие пользователя с отображаемыми данными осуществляется через собственные элементы, предоставляемые подключаемым модулем jQuery (например, переход на страницу вверх/вниз, сортировка и т. д.).

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

person S.Lott    schedule 27.09.2011