django ModelForm中表单字段非必填项的方法

python django

django ModelForm中表单字段非必填项的方法

如一个form中,想要image1这个字段是一个非必填项。相关代码如下

  class ArticleForm(forms.ModelForm):
  class Meta:
    model = productmessages
    fields = "_ _ all_ _"
    error_messages = {
        'myfile': {
            'invalid_image': '请上传正确格式的图片!'
        }

第一种解决办法

class ArticleForm(forms.ModelForm):
pm_img1 = forms.ImageField(required=False)
class Meta:
    model = productmessages
    fields = "__all__"
    error_messages = {
        'myfile': {
            'invalid_image': '请上传正确格式的图片!'
        }

    }

第二种办法:

class ArticleForm(forms.ModelForm):
class Meta:
    model = productmessages
    fields = "__all__"
    error_messages = {
        'myfile': {
            'invalid_image': '请上传正确格式的图片!'
        }

    }

def __init__(self, *args, **kwargs):
    super(ArticleForm, self).__init__(*args, **kwargs)
    self.fields['pm_img1'].required = False

我查资料说是这两种方法都可以,但是我用起来第二种好使,望指导!

你可能感兴趣的:(python,django)