Есть ли реализация HAML для использования с Python и Django? - PullRequest
70 голосов
/ 06 февраля 2009

Я случайно наткнулся на HAML , интересный и красивый способ разметки содержимого и написания шаблонов для HTML.

Поскольку я использую Python и Django для своей веб-разработки, я хотел бы посмотреть, есть ли реализация Python в HAML (или некоторые подобные концепции - не обязательно должны быть точно идентичными), которые можно использовать для замены шаблона Django двигатель.

Ответы [ 10 ]

37 голосов
/ 20 декабря 2009

Вас может заинтересовать SHPAML:

http://shpaml.com/

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

21 голосов
/ 06 февраля 2009

Я бы проверил GHRML , Haml для Genshi. Автор признает, что это в основном Haml для Python и что большая часть синтаксиса одинакова (и работает в Django) Вот немного GHRML, чтобы показать вам, насколько они близки:

%html
  %head
    %title Hello World
    %style{'type': 'text/css'}
      body { font-family: sans-serif; }
    %script{'type': 'text/javascript', 'src': 'foo.js'}

  %body
    #header
      %h1 Hello World
    %ul.navigation
      %li[for item in navigation]
        %a{'href': item.href} $item.caption

    #contents
      Hello World!
18 голосов
/ 24 июля 2010

Я ищу то же самое. Я не пробовал, но нашел это:

http://github.com/jessemiller/HamlPy

6 голосов
/ 31 июля 2013

Вас может заинтересовать Плим . Это зрелый питон порт Slim .

4 голосов
/ 17 октября 2009

На самом деле это не отвечает на ваш вопрос, но CSS-компонент HAML, SASS , может свободно использоваться с любой платформой. Я использую это прямо сейчас с Джанго.

3 голосов
/ 28 апреля 2013

Я наткнулся на jade, выполняя какую-то работу с node.js, и когда возвращался в Django, искал что-то подобное. Я нашел Pyjade и, хотя это почти то, что я ищу, он обрабатывает ошибки и довольно плохо отлаживает в Django.

3 голосов
/ 23 мая 2012

Мой проект, PyHAML , является препроцессором Mako, который дает вам очень HAML-подобный синтаксис. Некоторые из Ruby не очень хорошо переводятся на Python, поэтому есть некоторые различия, но дух тот же.

3 голосов
/ 04 мая 2010

Я не уверен, каково состояние бита GHRML, поскольку я только недавно изучал его. Не могу найти репозиторий для него, у оригинального разработчика больше нет на это времени, и обслуживание было занято кем-то другим, заинтересованным в проекте. Любая дополнительная информация по этому вопросу будет полезна.

К сожалению, по ходу всего этого я начал писать собственный процессор в стиле HAML;)

http://dasacc22.wordpress.com/2010/05/03/python-implementation-of-haml/

В данный момент он никоим образом не пригоден для производственного использования (сейчас он буквально 4-дневный ребенок, но примерно 60 часов забит за эти 4 дня), но любой желающий может проверить это здесь. В нем уже реализован ряд функций, которые делают его полезным в качестве игрушки, и, поскольку я буду очищать кодовую базу в течение следующей недели, я надеюсь увидеть, что он заменит все мои собственные расширения и шаблоны XSLT / xpath, которые у меня есть.

2 голосов
/ 02 марта 2011

Проект Дэниела Скиннера (упомянутый выше), похоже, был переименован в DMSL. Он кажется очень мощным, эмулирует HAML, но позволяет использовать в его синтаксисе функции Python, лямбды, выражения и т. Д.

2 голосов
/ 17 августа 2010

Я только что сделал это http://github.com/fitoria/django-haml это все еще на очень ранней стадии, но работает.

...