如何将参数传递给窗体?
someView()..
form = StylesForm(data_dict) # I also want to pass in site_id here.
class StylesForm(forms.Form):
# I want access to site_id here
如何将参数传递给窗体?
someView()..
form = StylesForm(data_dict) # I also want to pass in site_id here.
class StylesForm(forms.Form):
# I want access to site_id here
您应该定义表单的_init__方法,如下所示:
class StylesForm(forms.Form):
def __init__(self,*args,**kwargs):
self.site_id = kwargs.pop('site_id')
super(StylesForm,self).__init__(*args,**kwargs)
当然你不能进入self .创建对象之前的站点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()
(未测试)