Шаблоны Python для веб-дизайнеров - PullRequest
5 голосов
/ 18 октября 2008

Какие хорошие движки шаблонов для веб-дизайнеров? У меня определенно есть свои предпочтения относительно того, с чем я бы предпочел работать программистом. Но веб-дизайнеры, похоже, по-разному думают о вещах и поэтому могут предпочесть другую систему.

Итак:

  • Веб-дизайнеры: с каким движком шаблонов вы предпочитаете работать?
  • программисты: с какими шаблонизаторами вы работали, что облегчало работу с веб-дизайнерами?

Ответы [ 7 ]

6 голосов
/ 18 октября 2008

У меня были хорошие голоса, когда отвечал на дубликат этого же вопроса .

Мой ответ был:

Jinja2 .

Хороший синтаксис , хороший возможности настройки .

Хорошо интегрируется. Может быть изолированным, так что вам не нужно полностью доверять авторам шаблонов. (Мако не может).

Это также довольно быстро, с бонусом компиляции вашего шаблона для байт-кода и кэширования его, как показано ниже:

>>> import jinja2
>>> print jinja2.Environment().compile('{% for row in data %}{{ row.name | upper }}{% endfor %}', raw=True) 
from __future__ import division
from jinja2.runtime import LoopContext, Context, TemplateReference, Macro, Markup, TemplateRuntimeError, missing, concat, escape, markup_join, unicode_join
name = None

def root(context, environment=environment):
    l_data = context.resolve('data')
    t_1 = environment.filters['upper']
    if 0: yield None
    for l_row in l_data:
        if 0: yield None
        yield unicode(t_1(environment.getattr(l_row, 'name')))

blocks = {}
debug_info = '1=9'

Этот код был сгенерирован на лету Jinja2. Конечно, компилятор оптимизирует его (например, удаляя if 0: yield None)

6 голосов
/ 18 октября 2008

Шаблонный движок Django вполне приличный. Это довольно надежно, не наступая на слишком много пальцев. Если вы работаете с Python, я бы порекомендовал это. Я не знаю, как отделить его от Джанго, но я сомневаюсь, что это будет очень трудно увидеть, так как Джанго довольно модульный.

РЕДАКТИРОВАТЬ: Видимо, мини-руководство по использованию автономного движка Django уже сидело передо мной, спасибо insin .

5 голосов
/ 18 октября 2008

Посмотрите на Мако .

Вот как я справляюсь с веб-дизайнерами.

  1. Попросите их макетировать страницу. В HTML.
  2. Используйте HTML в качестве основы для шаблона, заменив макет содержимого ${...} заменами.
  3. Сложите петли для обработки повторов.

Использование операторов if требует согласования, поскольку макет является одной из версий страницы, и обычно есть некоторые объяснения для условного представления некоторого материала.

2 голосов
/ 18 октября 2008

Чтобы добавить к комментарию @Jaime Soriano, Genshi - это шаблонизатор, используемый в Trac post- 0.11 Он может быть использован как общее шаблонное решение, но фокусируется на HTML / XHTML. Он имеет автоматическое экранирование для уменьшения уязвимостей XSS.

2 голосов
/ 18 октября 2008

Лично я нашел Шаблоны гепардов очень удобными для дизайнеров. Некоторое время требовала идея создания подклассов шаблонов, и с самого начала это было трудно понять. Но дизайнер создает полный шаблон, дублируя свой код ... Тогда вы можете немного разобраться.

1 голос
/ 19 октября 2008

Я сыграл обе роли, и в глубине души я предпочитаю больше шаблонизаторов. Тем не менее, я работаю фрилансером для нескольких графических дизайнеров, занимающихся «тяжелым» программированием на основе резервных копий и БД, и могу сказать, что мне больше всего повезло с языками шаблонизаторов XML (SimpleTAL, Genshi и т. Д.).

Когда я пытаюсь быть дружелюбным к веб-дизайнеру, я ищу что-то, что можно загрузить в Dreamweaver, и вижу результаты. Это позволяет мне предоставить все хуки в шаблоне и позволить дизайнеру настроить его, не беспокоясь о нарушении того, что я уже написал. Это позволяет нам делиться кодом и лучше работать вместе там, где нам комфортно с форматом.

Если дизайнер кодирует без редактора WYSIWYG, я думаю, что ваши варианты менее ограничены, и вы могли бы пойти со своим личным фаворитом.

1 голос
/ 18 октября 2008

Mi голосование идет до Clearsilver , это движок шаблонов, используемый в Trac до 0.11, он также используется на страницах, таких как Google Groups или Orkut. Основное преимущество этого шаблонизатора в том, что он очень быстрый и не зависит от языка.

...