2017-11-17 9 views
0

私はradioselect水平整列をやろうとしていると私は、次のエラーメッセージを受信して​​いますがありません間違っている?タイプオブジェクトのRadioSelect'には属性「レンダラ」

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

あなたの代わりにforms.RadioSelect.rendererforms.RadioSelectを継承しようとしています。 forms.RadioSelectはインスタンス化されていないため、属性はありません。あなたは属性エラーを取得しています。

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 
      ), 
     ) 
関連する問題