Personalização do RadioSelect
Olá eu tenho um formulário com ChoiceField cujo widget está definido para RadioSelect
Agora, para substituir a saída html padrão, é necessário subclassificar RadioFieldRenderer da seguinte forma:
class SimpleRadioFieldRenderer(forms.widgets.RadioFieldRenderer):
def render(self):
"""Outputs widget without <ul> or <li> tags."""
return mark_safe(u'\n'.join([u'%s'
% force_unicode(w.tag()) for w in self]))
Tudo está bem agora, exceto eu gostaria de poder renderizar 1 botão de cada vez a partir do template. Algo assim:
{{ form.myfield.0 }}}
Ou talvez pendurá-lo no próprio widget:
{{ form.myfield.field.widget.0 }}
O que me incomoda é que RadioFieldRenderer já implementa__get_item__
para obter apenas um RadioInput. O problema é que o renderizador não contém dados, nem o widget. E eu realmente odeio mexer com Field e BoundField.
Eu preciso disso para injetar html antes / depois de cada radiobutton e gostaria que fosse feito no template. Do código, seria fácil.
Qualquer idéia é bem vinda.