尽管将required attr设置为false,但仍需要表单字段

时间:2018-11-20 00:25:18

标签: django django-forms

我已经做了一些非常奇怪的事情。我在Django(2.1,  也使用行为不当的Bootstrap,jQuery。

在我的forms.py中,我定义了:

caption = forms.CharField(widget=forms.TextInput(
    attrs={
        'required': False, 'class': "roll-caption", 'placeholder': "Caption",
    }
))

在model.py中,

caption = models.CharField(max_length=200, null=True, blank=True)

类和占位符呈现得很好。我涵盖了我能想到的所有基础。但是,表单字段是按html要求呈现的。不用说,我很困惑。我认为,表单字段位于某些div内,但这不应该影响它。

知道我能做什么吗?

1 个答案:

答案 0 :(得分:2)

您需要将required=False传递给表单字段本身。请查看this part of the documentation。 您的代码应该看起来像

caption = forms.CharField(required=False, widget=...)