设置空白和空值时,django 表单字段会引发错误

Posted

技术标签:

【中文标题】设置空白和空值时,django 表单字段会引发错误【英文标题】:django form field throws error when blank and null are set 【发布时间】:2016-03-15 04:19:28 【问题描述】:

我有以下表格:

class PlayerForm(forms.ModelForm):
    crop_coords = forms.CharField(widget=forms.TextInput(attrs='style':'display:none'))
    profile_image2 = forms.ImageField()

    class Meta:
        model = Player

我尝试将这些字段设为可选,如下所示:

class PlayerForm(forms.ModelForm):
    crop_coords = forms.CharField(widget=forms.TextInput(attrs='style':'display:none'), blank=True, null=True)
    profile_image2 = forms.ImageField(blank=True, null=True)

    class Meta:
        model = Player

我收到一个奇怪的错误:

File "/mypath/leagues/forms.py", line 80, in PlayerForm
   crop_coords = forms.CharField(widget=forms.TextInput(attrs='style':'display:none'),

空白=真,空=真) 文件“/mypath/lib/python2.7/site-packages/django/forms/fields.py”,行 214,在 初始化 super(CharField, self).init(*args, **kwargs) TypeError: init() 得到了一个意外的关键字参数 'null'

如何在不收到此错误的情况下使此字段不需要?

【问题讨论】:

【参考方案1】:

这个答案是正确的:How to make FileField in django optional?

ModelForms 使用:

required=False

而不是blank=True, null=True

【讨论】:

这个答案是完全正确的:它正确地表明您在表单中使用 required ,而在模型中使用空白。

以上是关于设置空白和空值时,django 表单字段会引发错误的主要内容,如果未能解决你的问题,请参考以下文章

为啥 django 模型的空白和空值不同的选项?

AngularJS 表单和空/空值

在表单中的特定字段上引发 Django 中的错误

django modelform 为空显示空白

Django 表单 - 设置标签

带有初始数据的 Django 禁用字段引发验证错误 [重复]