from django.newforms.util import ErrorList from django.newforms.widgets import RadioFieldRenderer, RadioSelect from django.newforms.fields import BooleanField from django.utils.safestring import mark_safe from django.utils.encoding import force_unicode class ImgErrorList(ErrorList): def __unicode__(self): return self.with_img() def with_img(self): if not self: return u'' return u'
%s
' % u''.join([u'
Error%s
' % e for e in self]) class InlineRadioRenderer(RadioFieldRenderer): def render(self): return mark_safe(u'
%s
' % u''.join([u'%s' % force_unicode(w) for w in self])) class YesNoRadioSelect(RadioSelect): renderer = InlineRadioRenderer choices = ((True, 'Yes'), (False, 'No')) attrs = {'class': 'radio'} class YesNoBooleanField(BooleanField): widget = YesNoRadioSelect def clean(self, value): if value == 'False': return False return bool(value)