繁体   English   中英

如何隐藏来自modelformset_factory生成的输入的所有标签?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM