# imports from django import forms from django.utils.safestring import mark_safe # exceptions # classes and fonctions class ChoiceSubmitWidget(forms.Widget): """A widget that render its choices as multiple submit buttons""" def __init__(self, choices=[], attrs={}): self.label = None self.choices = choices self.attrs = attrs def render(self, name, value=None, attrs={}): final_attrs = self.build_attrs( self.attrs, type="submit", name=name, ) flat_attrs = forms.widgets.flatatt(final_attrs) out = u'' for value, label in self.choices: out = out + u'%s' % ( flat_attrs, value, label) return mark_safe(out)