2009-11-03 10 views
4

Bonjour j'ai un formulaire avec ChoiceField dont le widget est mis à RadioSelectPersonnalisation RadioSelect

maintenant pour remplacer un besoin de sous-classe RadioFieldRenderer comme sortie par défaut html ceci:

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])) 

Tout est bien maintenant sauf que je » d aimer être en mesure de rendre 1 bouton radio à la fois à partir du modèle. Quelque chose comme ceci:

{{ form.myfield.0 }}} 

Ou peut-être accroché sur lui-même widget:

{{ form.myfield.field.widget.0 }} 

Que me dérange est que RadioFieldRenderer implémente déjà __get_item__ pour obtenir juste un RadioInput. Le problème est que le moteur de rendu ne contient pas de données, pas plus que le widget. Et je détesterais vraiment jouer avec Field et BoundField.

J'ai besoin de cela pour injecter du html avant/après chaque radiobutton et je voudrais que ce soit fait dans le gabarit. Du code, ce serait facile.

Toutes les idées sont les bienvenues.

Répondre