Django自定义设置模型窗体上的大小属性无效



我正在尝试指定模型字段的字符长度。我无法将其呈现在页面上并将size属性放入输入字段。

基本形式如下:

class QuestionForm(ModelForm):
question = forms.CharField(label="Question")
class Meta:
model = Question
fields = ["question"]

我尝试过以下几种:

class QuestionForm(ModelForm):
question = forms.CharField(label="Question",widgets=forms.TextInput(attrs={'size':'50'}))
class Meta:
model = Question
fields = ["question"]

class QuestionForm(ModelForm):
question = forms.CharField(label="Question")
class Meta:
model = Question
fields = ["question"]
widgets = {
'question': forms.TextInput(attrs={'size':'50'})
}

课堂调查表(ModelForm(:问题=表格。CharField(label="Question"(

def __init__(self, *args, **kwargs):
super(QuestionForm,self).__init__(*args, **kwargs)
self.fields['question'].widget.attrs['size'] = '50'

表单是表单集工厂的一部分,在使用时需要做任何不同的操作吗?

ApplicationForm = forms.formset_factory(QuestionForm)
ModelApplicationForm = forms.modelformset_factory(Question, fields=('question',))

问题是因为在使用modelformset_factory时,我传递的是问题模型而不是表单,所以它根本没有使用表单类。我设法找到了将小部件传递给modelformset_factory的解决方案。

ModelApplicationForm = forms.modelformset_factory(Question, fields=('question',),widgets={"question": forms.TextInput(attrs={'size':'50'})})

最新更新