class StylesForm(forms.Form):
def __init__(self,*args,**kwargs):
self.site_id = kwargs.pop('site_id')
super(StylesForm,self).__init__(*args,**kwargs)
当然,在创建对象之前,你无法访问self.site_id,因此该行:
height = forms.CharField(widget=forms.TextInput(attrs={'size':site_id}))
没有意义。创建表单后,必须将属性添加到窗口小部件。尝试这样的事情:
class StylesForm(forms.Form):
def __init__(self,*args,**kwargs):
self.site_id = kwargs.pop('site_id')
super(StylesForm,self).__init__(*args,**kwargs)
self.fields['height'].widget = forms.TextInput(attrs={'size':site_id})
height = forms.CharField()