30 мая 2013 г.

django: отправка email шаблонами из FlatPage

Приспичило сделать в django отправку email с удобной настройкой формата(-ов) письма. Понятно, что при этом должны работать какие-то переменные в шаблоне, куда удобно подставится что-то заранее предусмотренное. Ну и придумал для этого использовать FlatPage, которые идут «искаропки» и уже нормально редактируются в админке (я прикрутил туда ещё и TinyMCE). Плюс надо бы письма слать в формате html, для пущей красоты.

20 мая 2013 г.

django: минимальное количество formset inline

Захотелось мне в django, чтобы formset содержал не менее некоторого количества полностью заполненных форм. С нормальной валидацией где нужно, а не в середине вьюшки, например. На момент 1.4.x ничего особо удобного на этот счёт не было (возможно, это странно), хотя какие-то реквесты в багзилле я находил. На самом деле довольно просто ручками всё решается наследованием и переопределением InlineFormSet при конструировании FormSet через factory (а я так использую всегда).

Допустим, мы конструируем FormSet таким образом (обратите внимание на formset=...):
ConductingClazzRequestMorePersonFormSet = inlineformset_factory(ConductingClazzRequest, ConductingClazzRequestPerson, extra=1, formset=ConductingClazzRequestPersonFormsetBase, form=ConductingClazzRequestPersonForm)