[英]How to hide all labels from modelformset_factory generated inputs?
我在forms.py中有以下代码
class MCQuestionForm(forms.ModelForm):
class Meta:
model = models.MultipleChoiceQuestion
fields = ('prompt',)
def __init__(self, *args, **kwargs):
super(MCQuestionForm, self).__init__(*args, **kwargs)
self.fields['choice'] = forms.ModelChoiceField(queryset=self.instance.choice.all(),
widget=forms.RadioSelect,
empty_label=None)
MCQuestionFormSetForUser = modelformset_factory(models.MultipleChoiceQuestion,
fields=('prompt',),
form=MCQuestionForm,
extra=0,
widgets={
'prompt': forms.TextInput(
attrs={'readonly': True, 'class': 'borderless'})
}
)
当我将“ MCQuestionFormSetForUser”作为formset.as_p放置在模板中时,提示字段和选择都将获得相应的标签。 我怎么藏起来?
找到了做到这一点的方法
class MCQuestionForm(forms.ModelForm):
class Meta:
model = models.MultipleChoiceQuestion
fields = ('prompt',)
def __init__(self, *args, **kwargs):
super(MCQuestionForm, self).__init__(*args, **kwargs)
self.fields['choice'] = forms.ModelChoiceField(queryset=self.instance.choice.all(),
widget=forms.RadioSelect,
empty_label=None)
# here is the override that I was looking for
self.fields['choice'].label = ''
self.fields['prompt'].label = ''
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.