Наборы инструментов для создания шаблонов и обработки форм для использования с twisted.web

Как говорится в заголовке, я ищу что-то, что поможет мне автоматизировать обработку форм (проверку/рендеринг/и т. д.) в twisted.web. Я также ищу подходящий набор инструментов для создания шаблонов для использования с ним.

Что касается шаблонов, это не такая большая проблема, так как в питоне есть много библиотек, которые это делают. Я рассматривал следующее:

  • Новое. Ну, это не только набор инструментов для создания шаблонов, но и множество других вещей, которые могут мне понадобиться, а могут и не понадобиться. Он также хорошо сочетается с асинхронной природой Twisted (насколько мне известно, с его помощью можно выполнять инкрементный рендеринг, хорошо это или плохо).
  • Джинджа2. Я еще не использовал его, но люди, похоже, много его рекомендуют. Я читал об этом, и это, кажется, достойный инструментарий.
  • Генши. такой же, как предыдущий
  • Шаблонный движок Django. Я использовал его довольно много. Есть некоторые недостатки, но, ну, это работает. Это не проект django, поэтому нет необходимости ограничивать себя компонентами django.
  • Черт, я теоретически могу сгенерировать xhtml с помощью xslt (но не буду :P), поскольку почти все данные, с которыми работает проект, - это xml.

Что касается обработки форм, я должен сказать, что единственная веб-инфраструктура Python, с которой я знаком, — это django (на самом деле, довольно хорошо знаком с ней), поэтому я действительно не знаю, что я должен здесь учитывать.

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

Другой вариант, который я рассматривал, - это «закрепление» форм django, поскольку формы на самом деле не связаны ни с чем другим в django, поэтому их можно использовать отдельно. Я бы предпочел этого не делать, если это вообще возможно.

Может быть, кто-то из существующего проекта twisted.web может дать мне пару советов.


person shylent    schedule 27.06.2010    source источник


Ответы (2)


Мне очень нравится Джинджа 2. Это улучшенная форма системы шаблонов django. Я довольно широко использую его в своих проектах.

Для обработки формы вы можете проверить formosa.

person Ryan Ginstrom    schedule 28.06.2010
comment
Спасибо, я не знал о существовании formosa. На самом деле я просматривал formencode (formencode.org). - person shylent; 29.06.2010

Мой опыт использования Nevow заключается в том, что примеры и документацию трудно найти в Интернете. Есть несколько базовых ссылок на домашней странице Nevow (http://divmod.org/trac/wiki/DivmodNevow), но ничто не сравнится с количеством примеров и вопросов/ответов, которые вы могли бы увидеть, например, в более крупных средах Java (с которыми я лучше знаком).

Кажется, это подтверждается некоторыми простыми поисками в Google:

  • поиск Python Nevow возвращает около 155 тыс. результатов
  • поиск скрученного Python возвращает около 1000 тыс. результатов
  • поиск Python Django возвращает около 19 700 тыс. результатов
  • поиск Java Spring возвращает около 13 000 тыс. результатов

Я понимаю, что это не слишком научно, но это подтверждает мой опыт. Я был бы очень рад, если бы кто-то поправил это, если я что-то упустил, и указал бы нам всем на богатый источник документации Nevow (и особенно Athena, компонента Ajax)...

person Mick    schedule 29.06.2010