-1

I am trying to do a radioselect horizontal align and I am receiving the following error message:type object 'RadioSelect' has no attribute 'renderer'

What I am doing wrong?

from django.utils.safestring import mark_safe

class HorizontalRadioRenderer(forms.RadioSelect.renderer):
   def render(self):
     return mark_safe(u'\n'.join([u'%s\n' % w for w in self]))


class ApprovalForm(forms.Form):
     approval = forms.ChoiceField(choices=APPROVAL_CHOICES,
             initial=0,
             widget=forms.RadioSelect(renderer=HorizontalRadioRenderer),
                             )

1 Answers1

3

you are trying to inherit forms.RadioSelect.renderer instead forms.RadioSelect. forms.RadioSelect is not instantiated so it doesn't have the attribute. So you are getting attribute error.

from django.utils.safestring import mark_safe

class HorizontalRadioRenderer(forms.RadioSelect):
   def render(self):
     return mark_safe(u'\n'.join([u'%s\n' % w for w in self]))


class ApprovalForm(forms.Form):
     approval = forms.ChoiceField(
            choices=APPROVAL_CHOICES,
            initial=0, 
           widget=forms.RadioSelect(
                 renderer=HorizontalRadioRenderer
           ),
         )
anjaneyulubatta505
  • 10,713
  • 1
  • 52
  • 62