有没有一种方法可以通过列表来确定Django表单中的字段?

时间:2020-08-06 20:49:13

标签: python django

我有一个由管理员确定的列表,用户应该可以填写哪些字段。我尝试将我的字段的一个子集传递到forms.py的fields变量中,但是所有字段仍在模板中呈现。

forms.py

class myForm(forms.ModelForm):

    myList = ['field1']

    field1 = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control'}))
    field2 = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control'}))

    class Meta:
        model = myModel
        fields = myList

我只是用HTML中的{{ form }}渲染表单。我没有收到任何错误,但是我的应用程序呈现了所有字段,而不只是列表中的那些字段。

1 个答案:

答案 0 :(得分:0)

在下面尝试此代码:

class myModel(models.Model):  # Your Model
    field1 = models.CharField( .. )
    field2 = models.CharField( .. )


class myForm(forms.ModelForm):  # Your Form Model
    class Meta:
        model = myModel
        fields = ['field1']
        widgets = {
            'field1': forms.TextInput( attrs={'class': 'form-control'} )
        }

参阅https://docs.djangoproject.com/en/3.1/topics/forms/modelforms/

相关问题