Форум сайта python.su
Какая система шаблонов лучше? (быстродействие, легкость использования)
на сайте мако нашел бенчмарк разных систем, поставили себя на первое место:
Mako: 1.10 ms Myghty: 4.52 ms
Cheetah: 1.10 ms Genshi: 11.46 ms
Django: 2.74 ms Kid: 14.54 ms
Офлайн
И что это за миллисекунды? Невероятно показательное сравнение)
Офлайн
Lolkaэто у них на главной странице: http://www.makotemplates.org/
И что это за миллисекунды? Невероятно показательное сравнение)
Офлайн
Сказать “лучше” наверное ни про одну систему шаблонирования сказать нельзя, все зависит от поставленных задач и приоритетов.
Если решающую роль играет скорость, тогда нужно выбирать ту, которая обрабатывается быстрее всего (для этого даже не надо смотерть бенчмарки, а самому сделать тестовые темплейтики, которые дают одинаковый результат и засечь время).
Если решающую роль играет скорость создания темплейтов, тогда, опять-таки, надо посмотреть синтаксис, попробовать и посмотреть, которая из них лучше тебе подходит.
Опять же если важна простота и читаемость для не технических специалистов (постоянные изменения дизайна), то тут нужно выбирать другую (в этом случае скорее XML-ную)…
Офлайн
По синтаксису мне нравятся джанговские темплейты, так что я бы выбрал Jinja2: http://jinja.pocoo.org/2/
Про производительность: http://jinja.pocoo.org/2/documentation/faq#how-fast-is-it
Офлайн
попробовал Мако и джинжу2, второй понравился больше, и гораздобыстрее вкрутил его в свой сервак,
только не понятно зачем указывать “MyAplication”, если я указываю тут имя скрипта, то скрипт при рендеренге выполняется, зачем? как это отключить?
from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('MyAplication', 'jinja'))
template = env.get_template('edit.html')
html = template.render(login=login,error=perror)
Офлайн
это имя пакета, 2й параметр - имя каталога с шаблонами. В доку мож глянешь, а ?)
Офлайн
slav0nicя знаю что это имя пакета, вопрос был другой. зачем этот пакет запускается при рендиренге?
это имя пакета, 2й параметр - имя каталога с шаблонами. В доку мож глянешь, а ?)
Офлайн
from mako.template import Template
print Template(“hello ${data}!”).render(data=“world”)
====================================
Тест на вывод “hello world!!!”.
На какой машине? Хотя бы частоту процессора указали.
Причем, если в тест вошло время загрузки Template, то совсем не интересно, т.к. другие могут делать совсем подругому в плане организации модулей.
Офлайн
o7412369815963
в какой строке “пакет запускается”?
Офлайн