Personalizando RadioSelect
Hola, tengo un formulario con ChoiceField cuyo widget está configurado para RadioSelect
Ahora, para anular la salida html predeterminada, se necesita subclase de RadioFieldRenderer de esta manera:
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]))
Todo está bien ahora, excepto que me gustaría poder renderizar 1 botón de radio a la vez desde la plantilla. Algo como esto:
{{ form.myfield.0 }}}
O tal vez colgarlo en el propio widget:
{{ form.myfield.field.widget.0 }}
Lo que me molesta es que RadioFieldRenderer ya implementa__get_item__
para obtener un solo RadioInput. El problema es que el renderizador no contiene datos, ni tampoco el widget. Y realmente odiaría meterme con Field y BoundField.
Necesito esto para inyectar html antes / después de cada botón de radio y me gustaría que se haga en la plantilla. Desde el código sería fácil.
Cualquier idea es bienvenida.