Форум сайта python.su
Хотел бы понять четкую границу между филдом и виджетом? Зачем нужен филд и зачем виджет? зачем понадобилось создавать виджеты для филдов?
Офлайн
В документции по django есть определение:
Widget - A class that corresponds to an HTML form widget, e.g. <input type=“text”> or <textarea>. This handles rendering of the widget as HTML.
Field - A class that is responsible for doing validation, e.g. an EmailField that makes sure its data is a valid e-mail address.
То есть филд отвечает за тип представления, валидацию и имеет стандарный виджет для отрисовки который можно переопределить.
Виджет - просто отвечает за рендеринг, визуальное представление.
Детальнее про виджеты: http://docs.djangoproject.com/en/dev/ref/forms/widgets/
О том как переопределять стандарные виджети для полей: http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#overriding-the-default-field-types-or-widgets
Офлайн
еще виджет отвечает за “выборку” данных из запроса
Офлайн