为什么定义为类属性的字段的小部件可以工作,但对于
__init__
方法内的实例属性却不起作用? (我需要init方法)
class CropForm(forms.ModelForm):
class Meta:
model = CropModel
fields = ['name', 'label']
label = forms.CharField(label='label',
widget=forms.TextInput(attrs={'class': 'input'}))
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.name = forms.CharField(label='name',
widget=forms.TextInput(attrs={'class': 'input'}))
如何让
__init__
方法中的小部件正常工作?谢谢。
你已经很接近了:
class CropForm(forms.ModelForm):
class Meta:
model = CropModel
fields = ['name', 'label']
label = forms.CharField(
label='label', widget=forms.TextInput(attrs={'class': 'input'})
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['name'] = forms.CharField(
label='name', widget=forms.TextInput(attrs={'class': 'input'})
)