Подтвердить что ты не робот

Пирамида: простая форма или деформирование?

Для нового (Python) веб-приложения с веб-картой Pyramid я бы хотел использовать библиотеку привязки и проверки формы и до сих пор нашел simpleform и deform. У кого-нибудь есть опыт работы с ними, и я могу сказать, почему я должен выбрать тот или иной? Я не использую ORM, просто POPO, так сказать.

Думаю, я предпочел бы самый легкий на данный момент.

4b9b3361

Ответ 1

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

Оба они используют дуршлаг (что мне очень нравится) для определения и проверки форм. На мой взгляд, что их отличает, это механизмы их рендеринга. В этом отношении деформирование является самым простым в том смысле, что оно позволяет вам отображать всю форму, просто делая form.render() в вашем шаблоне. С другой стороны, с помощью simpleform вы должны отображать каждое поле вручную. Это может быть хорошей или плохой в зависимости от того, что вам нужно.

Недостаток с помощью simpleform в настоящее время не существует четкого способа обработки схем последовательности в шаблонах.

edit: Кроме того, на мой взгляд, деформирование имеет лучшую доступную документацию.

Ответ 2

Я еще не использовал simpleform, но я использовал деформацию для проекта, над которым я сейчас работаю. деформирование позволяет вам отображать шаблоны из схемы дуршлаг, что очень удобно. Кроме того, если схема нарушена, вы можете просто вызвать ValidationFailure.render() (после catch ValidationFailure exception), и сообщение, которое вы можете настроить, отображается с помощью формы. В настоящее время я занимаюсь выбором между рендерингом всей формы и рендерингом ее по частям. Было бы очень приятно, если бы вы могли группировать компоненты вместе для рендеринга.

Ответ 3

Хотя это третья альтернатива, но вы считали ToscaWidgets2?

С быстрым взглядом на простую форму и деформацию, мне кажется, что Toscawidgets2 является золотым серединным между этими двумя в случае особенностей и простоты.

Там даже учебник для использования с Pyramid, просто отбросьте часть базы данных и поставьте значения формы как dict.